Water Problem Direct Sticker Code
#include <iostream> #include <string.h> #include <queue> #include <vector> #include <utility > #include <cstdio> #include <cstring> #include <algorithm>using namespace std; #define MAXN 1200# Define LL __int64const ll INF = 100000000002; LL SIT[MAXN]; ll Dis[maxn][maxn];int Main () {#ifdef xxz freopen ("In.txt", "R", stdin); #endif//Xxz LL CASE,L1,L2,L3,L4,C1,C2,C3,C4, N,m,v,t; cin>>t; case = 1; while (t--) {cin>>l1>>l2>>l3>>l4>>c1>>c2>>c3>>c4; cin>>n>>m; for (LL i = 1; I <= n; i++) {cin>>sit[i]; Dis[i][i] = 0; for (ll j = 1; j < I; J + +) {ll temp = max (Sit[i],sit[j])-min (sit[i],sit[j]); if (temp > L4) v = INF; else if (temp > L3) v = C4; else if (temp > L2) v= C3; else if (temp > L1) v = C2; else if (temp > 0) v = C1; else v = 0; DIS[I][J] = dis[j][i] = v; }} for (ll k = 1, k <= N; k++) for (ll i = 1; I <= n; i++) for (ll j = 1; j< ; = N; J + +) {Dis[i][j] = min (Dis[i][j],dis[i][k] + dis[k][j]); } printf ("Case%d:\n", case++); for (ll i = 0; i < m; i++) {ll, A, B; cin>>a>>b; if (dis[a][b]== INF) printf ("Station%I64D and station%I64D is not attainable.\n", A, b); else printf ("The minimum cost between station%I64D and station%I64D is%i64d.\n", a,b,dis[a][b]); }} return 0;}
HDU1690 (Floyd Shortest)