zoj1221

来源:互联网 发布:python取消注释快捷键 编辑:程序博客网 时间:2024/06/06 14:19
这道题目之前听老师讲感觉晕晕乎乎的
昨天看懂了弗洛伊德算法之后
发现这道题原来是这么基础。。
但是第一次只提交了2次就A了
还只是因为EOF的设置问题
开心!!

#include<iostream>using namespace std;int map[21][21];void test();int min(int a, int b);int main(){int n,i,a,b,t=1;int ff;while (cin >> ff){for (int i = 1; i <= 20; i++)for (int j = 1; j <= 20; j++)map[i][j] = 21;int x, y;for (int i = 1; i < 20; i++){if (i != 1)cin >> x;else    x = ff;for (int j = 1; j <= x; j++){cin >> y;map[i][y] = 1;map[y][i] = 1;}}   test();   cin >> n;   cout << "Test Set #" << t++ << endl;   for (i = 0; i < n; i++)   {   cin >> a >> b;   cout << a << " to " << b << ": " << map[a][b] << endl;   }   cout << endl;}return 0;}int min(int a, int b){if (a>b) return b;else return a;}void test(){int i, j, k;for (k = 1; k <= 20; k++){for (i = 1; i <= 20; i++){for (j = 1; j <= 20; j++)map[i][j] = min(map[i][j], map[i][k] + map[k][j]);}}}

果然一到期末
编程能力是整个学期以来最佳

原创粉丝点击