Pagini recente » Cod sursa (job #1013175) | Cod sursa (job #988791) | Cod sursa (job #2088367) | Cod sursa (job #1524435) | Cod sursa (job #637764)
Cod sursa(job #637764)
# include <fstream>
using namespace std;
ifstream f("portal3.in");
ofstream g("portal3.out");
int t;
long long n, m;
long long x, y, c, x2, y2, c2, x3, y3, c3;
long long xf, yf, xf2, yf2, xf3, yf3;
long long minim;
long long min1, min2, min3, min4, min5, min6, min7, min8, min9, min10, min11, min12, min13, min14, min15, min16, min17, min18;
int abs( int n )
{
if ( n < 0 )
return -n;
return n;
}
void rezolva()
{
n ++;
m ++;
min1 = ( n - 1 )+ ( m - 1 );
min2 = ( ( x - 1 ) + ( y - 1 ) ) + ( abs ( n - xf ) + abs ( m - yf ) ) + c;
min3 = ( ( x2 - 1 ) + ( y2 - 1 ) ) + ( abs ( n - xf2 ) + abs ( m - yf2 ) ) + c2;
min4 = ( ( x3 - 1 ) + ( y3 - 1 ) ) + ( abs ( n - xf3 ) + abs ( m - yf3 ) ) + c3;
min7 = ( ( xf - 1 ) + ( yf - 1 ) ) + ( abs ( n - x ) + abs ( m - y ) ) + c;
min8 = ( ( xf2 - 1 ) + ( yf2 - 1 ) ) + ( abs ( n - x2 ) + abs ( m - y2 ) ) + c2;
min9 = ( ( xf3 - 1 ) + ( yf3 - 1 ) ) + ( abs ( n - x3 ) + abs ( m - y3 ) ) + c3;
min5 = ( ( x - 1 ) + ( y - 1 ) ) + ( abs ( xf - x2 ) + abs ( yf - y2 ) ) + c + ( abs ( n - xf2 ) + abs ( m - yf2 ) ) + c2;
min12 = ( ( x - 1 ) + ( y - 1 ) ) + ( abs ( xf - xf2 ) + abs ( yf - yf2 ) ) + c + ( abs ( n - x2 ) + abs ( m - y2 ) ) + c2;
min10 = ( ( xf - 1 ) + ( yf - 1 ) ) + ( abs ( x - x2 ) + abs ( y - y2 ) ) + c + ( abs ( n - xf2 ) + abs ( m - yf2 ) ) + c2;
min11 = ( ( xf - 1 ) + ( yf - 1 ) ) + ( abs ( x - xf2 ) + abs ( y - yf2 ) ) + c + ( abs ( n - x2 ) + abs ( m - y2 ) ) + c2;
min6 = ( ( x - 1 ) + ( y - 1 ) ) + ( abs ( xf - x3 ) + abs ( yf - y3 ) ) + c + ( abs ( n - xf3 ) + abs ( m - yf3 ) ) + c3;
min13 = ( ( x - 1 ) + ( y - 1 ) ) + ( abs ( xf - xf3 ) + abs ( yf - yf3 ) ) + c + ( abs ( n - x3 ) + abs ( m - y3 ) ) + c3;
min14 = ( ( xf - 1 ) + ( yf - 1 ) ) + ( abs ( x - x3 ) + abs ( y - y3 ) ) + c + ( abs ( n - xf3 ) + abs ( m - yf3 ) ) + c3;
min15 = ( ( xf - 1 ) + ( yf - 1 ) ) + ( abs ( x - xf3 ) + abs ( y - yf3 ) ) + c + ( abs ( n - x3 ) + abs ( m - y3 ) ) + c3;
//g << min1 << " ";
// g << ( abs ( n - xf2 ) + abs ( m - yf2 ) );
//g << min1 << " " << min2 << " " << min3 << " " << min4;
//g << min1 << " ";
}
void afisare()
{
minim = min1;
if ( minim > min2 )
minim = min2;
if ( minim > min3 )
minim = min3;
if ( minim > min4 )
minim = min4;
if ( minim > min5 )
minim = min5;
if ( minim > min6 )
minim = min6;
if ( minim > min7 )
minim = min7;
if ( minim > min8 )
minim = min8;
if ( minim > min9 )
minim = min9;
if ( minim > min10 )
minim = min10;
if ( minim > min11 )
minim = min11;
if ( minim > min12 )
minim = min12;
if ( minim > min13 )
minim = min13;
if ( minim > min14 )
minim = min14;
if ( minim > min15 )
minim = min15;
g << minim << "\n";
}
void citire()
{
int i;
f >> t;
for ( i = 1 ; i <= t ; i++ )
{
f >> n >> m;
f >> x >> y >> xf >> yf >> c;
f >> x2 >> y2 >> xf2 >> yf2 >> c2;
f >> x3 >> y3 >> xf3 >> yf3 >> c3;
rezolva();
}
}
int main()
{
citire();
afisare();
return 0;
}