Cod sursa(job #636533)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 19 noiembrie 2011 21:05:31
Problema Portal3 Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 2.09 kb
#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();
}