Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- float bag[4][500];
- int ogr(int x,int y)
- {
- return (5*x-2*y>=-20)&&
- (x-2*y>=-32)&&
- (y<=19)&&
- (3*x+11*y<=242)&&
- (x<=15)&&
- (5*x+4*y>=20);
- }
- float L1(int x,int y)
- {
- return 7*((float)x)+5*((float)y);
- }
- float L2(int x,int y)
- {
- return 2*((float)x)+4*((float)y);
- }
- int col,colParr;
- int X=20;
- int main()
- {
- int L1m = 1;
- int L2m = 0;
- float K1 = 0.2;
- float K2 = 0.2;
- int t=1;
- int k=0;
- int x=0 ,y=0;
- int i=0;
- int g=1;
- float L1max=-200,L1min=10000,L2max=-200,L2min=100000;
- std::ofstream out;
- out.open("temp.txt");
- while(g)
- {
- g=0;
- t=1;
- k=0;
- x=0;
- while(t)
- {
- if(x>X)t=0;
- if(k!=(ogr(x,y)))
- if(k==0)k=1;
- else t=0;
- if(k&&t)
- {
- g=1;
- bag[0][i]=x;
- bag[1][i]=y;
- bag[2][i]=L1(x,y);
- bag[3][i]=L2(x,y);
- if(L1(x,y)>L1max)L1max=L1(x,y);
- if(L2(x,y)>L2max)L2max=L2(x,y);
- if(L1(x,y)<L1min)L1min=L1(x,y);
- if(L2(x,y)<L2min)L2min=L2(x,y);
- std::cout<<x<<' '<<y<<' '<<bag[2][i]<<' '<<bag[3][i]<<'\n';
- out<<x<<' '<<y<<' '<<bag[2][i]<<' '<<bag[3][i]<<'\n';
- i++;
- }
- x++;
- }
- y++;
- }
- col=i;
- g=1;
- x=-1;
- y=-1;
- int Zl1=-200;
- g=1;
- for(i=0;i<col;i++)
- {
- if(L2m)
- {
- if(L2(bag[0][i],bag[1][i])<(L2max-K2*(L2max-L2min)))
- {
- if(L1m)
- {
- if(g)
- {
- g=0;
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl1<L1(bag[0][i],bag[1][i]))
- {
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- else
- {
- if(g)
- {
- g=0;
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl1>L1(bag[0][i],bag[1][i]))
- {
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- }
- }
- else
- if(L2(bag[0][i],bag[1][i])>(L2min+K2*(L2max-L2min)))
- {
- if(L1m)
- {
- if(g)
- {
- g=0;
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl1<L1(bag[0][i],bag[1][i]))
- {
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- else
- {
- if(g)
- {
- g=0;
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl1>L1(bag[0][i],bag[1][i]))
- {
- Zl1=L1(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- }
- }
- int Zl2=-200;
- g=1;
- for(i=0;i<col;i++)
- {
- if(L1m)
- {
- if(L1(bag[0][i],bag[1][i])<(Zl1-K1*(Zl1-L1min)))
- {
- if(L2m)
- {
- if(g)
- {
- g=0;
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl2<L2(bag[0][i],bag[1][i]))
- {
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- else
- {
- if(g)
- {
- g=0;
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl2>L2(bag[0][i],bag[1][i]))
- {
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- }
- }
- else
- if(L1(bag[0][i],bag[1][i])>(Zl1+K1*(L1max-Zl1)))
- {
- if(L2m)
- {
- if(g)
- {
- g=0;
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl2<L2(bag[0][i],bag[1][i]))
- {
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- else
- {
- if(g)
- {
- g=0;
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- else
- if(Zl2>L2(bag[0][i],bag[1][i]))
- {
- Zl2=L2(bag[0][i],bag[1][i]);
- x=bag[0][i];
- y=bag[1][i];
- }
- }
- }
- }
- std::cout<<"решение:"<<x<<','<<y<<'('<<L1(x,y)<<','<<L2(x,y)<<')'<<'\n';
- out<<"решение:"<<x<<','<<y<<'('<<L1(x,y)<<','<<L2(x,y)<<')'<<'\n';
- out.close();
- }
Add Comment
Please, Sign In to add comment