Guest User

Untitled

a guest
Jul 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. float bag[4][500];
  4.  
  5. int ogr(int x,int y)
  6. {
  7. return (5*x-2*y>=-20)&&
  8. (x-2*y>=-32)&&
  9. (y<=19)&&
  10. (3*x+11*y<=242)&&
  11. (x<=15)&&
  12. (5*x+4*y>=20);
  13. }
  14. float L1(int x,int y)
  15. {
  16. return 7*((float)x)+5*((float)y);
  17. }
  18. float L2(int x,int y)
  19. {
  20. return 2*((float)x)+4*((float)y);
  21. }
  22. int col,colParr;
  23.  
  24. int X=20;
  25. int main()
  26. {
  27. int L1m = 1;
  28. int L2m = 0;
  29. float K1 = 0.2;
  30. float K2 = 0.2;
  31. int t=1;
  32. int k=0;
  33. int x=0 ,y=0;
  34. int i=0;
  35. int g=1;
  36. float L1max=-200,L1min=10000,L2max=-200,L2min=100000;
  37.  
  38. std::ofstream out;
  39. out.open("temp.txt");
  40. while(g)
  41. {
  42. g=0;
  43. t=1;
  44. k=0;
  45. x=0;
  46. while(t)
  47. {
  48. if(x>X)t=0;
  49. if(k!=(ogr(x,y)))
  50. if(k==0)k=1;
  51. else t=0;
  52. if(k&&t)
  53. {
  54. g=1;
  55. bag[0][i]=x;
  56. bag[1][i]=y;
  57. bag[2][i]=L1(x,y);
  58. bag[3][i]=L2(x,y);
  59. if(L1(x,y)>L1max)L1max=L1(x,y);
  60. if(L2(x,y)>L2max)L2max=L2(x,y);
  61. if(L1(x,y)<L1min)L1min=L1(x,y);
  62. if(L2(x,y)<L2min)L2min=L2(x,y);
  63. std::cout<<x<<' '<<y<<' '<<bag[2][i]<<' '<<bag[3][i]<<'\n';
  64. out<<x<<' '<<y<<' '<<bag[2][i]<<' '<<bag[3][i]<<'\n';
  65. i++;
  66. }
  67. x++;
  68. }
  69. y++;
  70. }
  71. col=i;
  72. g=1;
  73. x=-1;
  74. y=-1;
  75. int Zl1=-200;
  76. g=1;
  77. for(i=0;i<col;i++)
  78. {
  79. if(L2m)
  80. {
  81. if(L2(bag[0][i],bag[1][i])<(L2max-K2*(L2max-L2min)))
  82. {
  83. if(L1m)
  84. {
  85. if(g)
  86. {
  87. g=0;
  88. Zl1=L1(bag[0][i],bag[1][i]);
  89. x=bag[0][i];
  90. y=bag[1][i];
  91. }
  92. else
  93. if(Zl1<L1(bag[0][i],bag[1][i]))
  94. {
  95. Zl1=L1(bag[0][i],bag[1][i]);
  96. x=bag[0][i];
  97. y=bag[1][i];
  98. }
  99. }
  100. else
  101. {
  102. if(g)
  103. {
  104. g=0;
  105. Zl1=L1(bag[0][i],bag[1][i]);
  106. x=bag[0][i];
  107. y=bag[1][i];
  108. }
  109. else
  110. if(Zl1>L1(bag[0][i],bag[1][i]))
  111. {
  112. Zl1=L1(bag[0][i],bag[1][i]);
  113. x=bag[0][i];
  114. y=bag[1][i];
  115. }
  116. }
  117. }
  118. }
  119. else
  120. if(L2(bag[0][i],bag[1][i])>(L2min+K2*(L2max-L2min)))
  121. {
  122. if(L1m)
  123. {
  124. if(g)
  125. {
  126. g=0;
  127. Zl1=L1(bag[0][i],bag[1][i]);
  128. x=bag[0][i];
  129. y=bag[1][i];
  130. }
  131. else
  132. if(Zl1<L1(bag[0][i],bag[1][i]))
  133. {
  134. Zl1=L1(bag[0][i],bag[1][i]);
  135. x=bag[0][i];
  136. y=bag[1][i];
  137. }
  138. }
  139. else
  140. {
  141. if(g)
  142. {
  143. g=0;
  144. Zl1=L1(bag[0][i],bag[1][i]);
  145. x=bag[0][i];
  146. y=bag[1][i];
  147. }
  148. else
  149. if(Zl1>L1(bag[0][i],bag[1][i]))
  150. {
  151. Zl1=L1(bag[0][i],bag[1][i]);
  152. x=bag[0][i];
  153. y=bag[1][i];
  154. }
  155. }
  156. }
  157. }
  158. int Zl2=-200;
  159. g=1;
  160. for(i=0;i<col;i++)
  161. {
  162. if(L1m)
  163. {
  164. if(L1(bag[0][i],bag[1][i])<(Zl1-K1*(Zl1-L1min)))
  165. {
  166. if(L2m)
  167. {
  168. if(g)
  169. {
  170. g=0;
  171. Zl2=L2(bag[0][i],bag[1][i]);
  172. x=bag[0][i];
  173. y=bag[1][i];
  174. }
  175. else
  176. if(Zl2<L2(bag[0][i],bag[1][i]))
  177. {
  178. Zl2=L2(bag[0][i],bag[1][i]);
  179. x=bag[0][i];
  180. y=bag[1][i];
  181. }
  182. }
  183. else
  184. {
  185. if(g)
  186. {
  187. g=0;
  188. Zl2=L2(bag[0][i],bag[1][i]);
  189. x=bag[0][i];
  190. y=bag[1][i];
  191. }
  192. else
  193. if(Zl2>L2(bag[0][i],bag[1][i]))
  194. {
  195. Zl2=L2(bag[0][i],bag[1][i]);
  196. x=bag[0][i];
  197. y=bag[1][i];
  198. }
  199. }
  200. }
  201. }
  202. else
  203. if(L1(bag[0][i],bag[1][i])>(Zl1+K1*(L1max-Zl1)))
  204. {
  205. if(L2m)
  206. {
  207. if(g)
  208. {
  209. g=0;
  210. Zl2=L2(bag[0][i],bag[1][i]);
  211. x=bag[0][i];
  212. y=bag[1][i];
  213. }
  214. else
  215. if(Zl2<L2(bag[0][i],bag[1][i]))
  216. {
  217. Zl2=L2(bag[0][i],bag[1][i]);
  218. x=bag[0][i];
  219. y=bag[1][i];
  220. }
  221. }
  222. else
  223. {
  224. if(g)
  225. {
  226. g=0;
  227. Zl2=L2(bag[0][i],bag[1][i]);
  228. x=bag[0][i];
  229. y=bag[1][i];
  230. }
  231. else
  232. if(Zl2>L2(bag[0][i],bag[1][i]))
  233. {
  234. Zl2=L2(bag[0][i],bag[1][i]);
  235. x=bag[0][i];
  236. y=bag[1][i];
  237. }
  238. }
  239. }
  240. }
  241. std::cout<<"решение:"<<x<<','<<y<<'('<<L1(x,y)<<','<<L2(x,y)<<')'<<'\n';
  242. out<<"решение:"<<x<<','<<y<<'('<<L1(x,y)<<','<<L2(x,y)<<')'<<'\n';
  243. out.close();
  244. }
Add Comment
Please, Sign In to add comment