Pagini recente » Cod sursa (job #2163410) | Cod sursa (job #1078578) | Cod sursa (job #3166701) | Cod sursa (job #2786577) | Cod sursa (job #1564338)
#include <stdio.h>
long long xk1[3], yk1[3], xk2[3], yk2[3], c[3], dist[3];
int main(){
FILE *in = fopen("portal3.in", "r");
FILE *out = fopen("portal3.out", "w");
long long t, n, m, i, j, x, k, rez;
fscanf(in, "%lld", &t);
for(; t > 0; t--){
fscanf(in, "%lld%lld", &n, &m);
for(i = 0; i < 3; i++){
fscanf(in, "%lld%lld%lld%lld%lld", &xk1[i], &yk1[i], &xk2[i], &yk2[i], &c[i]);
dist[i] = xk1[i] + yk1[i];
}
rez = n + m;
for(k = 0; k < 3; k++){
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++){
x = dist[i] + c[i] + abs(xk2[i] - xk1[j]) + abs(yk2[i] - yk1[j]);
if(x < dist[j])
dist[j] = x;
}
x = n - xk2[i] + m - yk2[i] + c[i] + dist[i];
if(rez > x)
rez = x;
}
}
fprintf(out, "%lld\n", rez);
}
fclose(in);
fclose(out);
return 0;
}