UVA10763--ForeignExchange
2016-10-13 20:25
477 查看
题意:
有一个非营利性的国际性机构执行一项国际交换学生计划。这几年来执行得相当好,有越来越多的学生想要参与这项计划,所以现在请你来帮忙这个机构。
每个提出交换学生申请的人有2项资料:他来自哪一国,他想要交换到哪一国。这个计划只有在每个学生都可以找到一个交换对象的时候才算成功。换句话说,假如有一个学生想要从A国到B国,那么一定要有另一个学生从B国到A国。如果只有50个学生提出申请,要判断这计画是否可行相当简单,然而现在最多已经有 500000个学生了。
思路:采用邻接矩阵存储,最后遍历矩阵即可。
代码如下:
有一个非营利性的国际性机构执行一项国际交换学生计划。这几年来执行得相当好,有越来越多的学生想要参与这项计划,所以现在请你来帮忙这个机构。
每个提出交换学生申请的人有2项资料:他来自哪一国,他想要交换到哪一国。这个计划只有在每个学生都可以找到一个交换对象的时候才算成功。换句话说,假如有一个学生想要从A国到B国,那么一定要有另一个学生从B国到A国。如果只有50个学生提出申请,要判断这计画是否可行相当简单,然而现在最多已经有 500000个学生了。
思路:采用邻接矩阵存储,最后遍历矩阵即可。
代码如下:
#include<stdio.h> #include<string.h> const int maxn = 1010; int a[maxn][maxn]; bool judge() { for(int i = 0; i < maxn; i++) for(int j = 0; j < maxn; j++) { if(a[i][j] != 0 || a[j][i] != 0) return false; } return true; } int main() { int n; while(scanf("%d", &n) == 1 && n) { memset(a, 0, sizeof(a)); int x, y; while(n--) { scanf("%d%d", &x, &y); a[x][y]++; a[y][x]--; } if(n % 2 == 1) { printf("NO\n"); continue; } if(judge()) printf("YES\n"); else printf("NO\n"); } }
相关文章推荐
- UVa 10763 - Foreign Exchange
- UVa - 10763 Foreign Exchange
- UVA 10763 - Foreign Exchange(二分查找)
- UVA 10763 Foreign Exchange
- UVA 10763 Foreign Exchange 出国交换 pair+map
- UVA 10763 Foreign Exchange
- UVa 10763 - Foreign Exchange(结构体排序)
- 【UVa】10763 – Foreign Exchange
- UVA 10763 Foreign Exchange 交换学生
- uva 10763 Foreign Exchange
- uva 10763 - Foreign Exchange
- UVA - 10763 Foreign Exchange(排序)
- uva 10763 - Foreign Exchange
- Uva 10763 - Foreign Exchange
- uva 10763 - Foreign Exchange
- UVa 10763 - Foreign Exchange
- UVA 10763 Foreign Exchange(快速检索)
- UVa 10763 - Foreign Exchange
- Foreign Exchange uva 10763
- uva 10763 多种方法