ZOJ 1221 Risk
2013-08-15 17:11
351 查看
题目大意是给出世界地图,判断从国家A到国家B最少经过多少个国家。
只需将每条边的权值赋为1,然后求最短路径即可。
只需将每条边的权值赋为1,然后求最短路径即可。
#include <stdio.h> #define INF 10000 int dist[25][25]; int ob[400][2]; void floyd() { int i,j,k; for(k=1;k<=20;k++) for(i=1;i<=20;i++) for(j=1;j<=20;j++) if(dist[i][j]>dist[i][k]+dist[k][j]) dist[i][j]=dist[i][k]+dist[k][j]; } int main() { int i,j,x,n,A,B,k; int sum=0; while(scanf("%d",&x)!=EOF) { sum++; for(i=1;i<=20;i++) for(j=1;j<=20;j++) dist[i][j]=INF; for(k=1;k<=x;k++) { scanf("%d",&j); dist[1][j]=dist[j][1]=1; } for(i=2;i<=19;i++) { scanf("%d",&x); for(k=1;k<=x;k++) { scanf("%d",&j); dist[i][j]=dist[j][i]=1; } } floyd(); scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d%d",&ob[i][0],&ob[i][1]); printf("Test Set #%d\n",sum); for(i=1;i<=n;i++) { A=ob[i][0]; B=ob[i][1]; printf("%d to %d: %d\n",A,B,dist[A][B]); } printf("\n"); } return 0; }
相关文章推荐
- ZOJ 1221 Risk
- zoj 1221 Risk 最短路
- zoj 1221 Risk
- zoj 1221 && poj 1603 Risk
- zoj 1221 Risk
- zoj 1221 Risk
- ZOJ 1221 Risk
- ZOJ1221 && UVA567:Risk(Floyd)
- zoj 1221 || poj 1603 Risk(Floyd~)
- ZOJ1221 && UVA567:Risk(Floyd)
- zoj1221_Risk(多源点最短路)
- ZOJ-1221-Risk
- 【ZOJ 1221】Risk
- ZOJ 1221 Risk(最短路径Dijkstra和Floyd算法)
- zoj 1221 Risk【最短路 3种方法】
- zoj 1221 Risk 最短路 floyd
- zoj(1221
- zoj 1221 Risk Flory
- 浙大oj 1221 Risk
- ZOJ-1221