Pagini recente » Cod sursa (job #3157786) | Cod sursa (job #2150110) | Cod sursa (job #929986) | Cod sursa (job #795022) | Cod sursa (job #1564326)
#include <stdio.h>
#define INF 2000000000
int x1[3], y1[3], x2[3], y2[3], c[3], dist[3];
int main(){
FILE *in = fopen("portal3.in", "r");
FILE *out = fopen("portal3.out", "w");
int t, n, m, i, j, x, k, rez;
fscanf(in, "%d", &t);
for(; t > 0; t--){
fscanf(in, "%d%d", &n, &m);
for(i = 0; i < 3; i++){
fscanf(in, "%d%d%d%d%d", &x1[i], &y1[i], &x2[i], &y2[i], &c[i]);
dist[i] = x1[i] + y1[i];
}
rez = n + m;
for(k = 0; k < 6; k++){
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++){
x = dist[i] + c[i] + abs(x2[i] - x1[j]) + abs(y2[i] - y1[j]);
if(x < dist[j])
dist[j] = x;
}
x = n - x2[i] + m - y2[i] + c[i] + dist[i];
if(rez > x)
rez = x;
}
}
fprintf(out, "%d\n", rez);
}
fclose(in);
fclose(out);
return 0;
}