Pagini recente » Cod sursa (job #2271177) | Cod sursa (job #3227426) | Cod sursa (job #2043595) | Cod sursa (job #2717111) | Cod sursa (job #636533)
Cod sursa(job #636533)
#include<fstream>
using namespace std;
#define abs(a) ((a)<0?-(a):a)
int T,N,M,X1,X2,X3,X4,X5,X6,Y1,Y2,Y3,Y4,Y5,Y6,C1,C2,C3,lg;
void rezolva();
int main(){
rezolva();
return 0;
}
void rezolva(){
int i,lgx;
ifstream fin("portal3.in");
ofstream fout("portal3.out");
fin>>T;
for(i=1;i<=T;i++){
fin>>N>>M>>X1>>Y1>>X2>>Y2>>C1>>X3>>Y3>>X4>>Y4>>C2>>X5>>Y5>>X6>>Y6>>C3;
lg=N+M; //1
lgx=abs(0-X1)+abs(0-Y1)+C1+abs(N-X2)+abs(M-Y2); //2
if(lgx<lg)
lg=lgx;
lgx=abs(0-X3)+abs(0-Y3)+C2+abs(N-X4)+abs(M-Y4); //3
if(lgx<lg)
lg=lgx;
lgx=abs(0-X5)+abs(0-Y5)+C3+abs(N-X6)+abs(M-Y6); //4
if(lgx<lg)
lg=lgx;
lgx=abs(0-X1)+abs(0-Y1)+C1+abs(X2-X3)+abs(Y2-Y3)+C2+abs(N-X4)+abs(M-Y4); //5
if(lgx<lg)
lg=lgx;
lgx=abs(0-X1)+abs(0-Y1)+C1+abs(X2-X5)+abs(Y2-Y5)+C3+abs(N-X6)+abs(M-Y6); //6
if(lgx<lg)
lg=lgx;
lgx=abs(0-X3)+abs(0-Y3)+C2+abs(X4-X1)+abs(Y4-Y1)+C1+abs(N-X2)+abs(M-Y2); //7
if(lgx<lg)
lg=lgx;
lgx=abs(0-X3)+abs(0-Y3)+C2+abs(X4-X5)+abs(Y4-Y5)+C3+abs(N-X6)+abs(M-Y6); //8
if(lgx<lg)
lg=lgx;
lgx=abs(0-X5)+abs(0-Y5)+C3+abs(X6-X1)+abs(Y6-Y1)+C1+abs(N-X2)+abs(M-Y2); //9
if(lgx<lg)
lg=lgx;
lgx=abs(0-X5)+abs(0-Y5)+C3+abs(X6-X3)+abs(Y6-Y3)+C2+abs(N-X4)+abs(M-Y4); //10
if(lgx<lg)
lg=lgx;
lgx=abs(0-X1)+abs(0-Y1)+C1+abs(X2-X3)+abs(Y2-Y3)+C2+abs(X4-X5)+abs(Y4-Y5)+C3+abs(N-X6)+abs(M-Y6); //11
if(lgx<lg)
lg=lgx;
lgx=abs(0-X1)+abs(0-Y1)+C1+abs(X2-X5)+abs(Y2-Y5)+C3+abs(X6-X3)+abs(Y6-Y3)+C2+abs(N-X4)+abs(M-Y4); //12
if(lgx<lg)
lg=lgx;
lgx=abs(0-X3)+abs(0-Y3)+C2+abs(X4-X1)+abs(Y4-Y1)+C1+abs(X2-X5)+abs(Y2-Y5)+C3+abs(N-X6)+abs(M-Y6); //13
if(lgx<lg)
lg=lgx;
lgx=abs(0-X3)+abs(0-Y3)+C2+abs(X4-X5)+abs(Y4-Y5)+C3+abs(X6-X1)+abs(Y6-Y1)+C1+abs(N-X2)+abs(M-Y2); //14
if(lgx<lg)
lg=lgx;
lgx=abs(0-X5)+abs(0-Y5)+C3+abs(X6-X1)+abs(Y6-Y1)+C1+abs(X2-X3)+abs(Y2-Y3)+C2+abs(N-X4)+abs(M-Y4); //15
if(lgx<lg)
lg=lgx;
lgx=abs(0-X5)+abs(0-Y5)+C3+abs(X6-X3)+abs(Y6-Y3)+C2+abs(X4-X1)+abs(Y4-Y1)+C1+abs(N-X2)+abs(M-Y2); //16
if(lgx<lg)
lg=lgx;
fout<<lg<<"\n";
}
fin.close();
fout.close();
}