uva 10763 Foreign Exchange
来源:互联网 发布:手机应用数据迁移 编辑:程序博客网 时间:2024/06/05 14:37
题目:Foreign Exchange
题意:用(A,B)描述一个学生,学生(A,B)可以和(B,A)交换,且一个学生只能交换一次,问是否可以全部交换。
思路:用map存储学生(A,B)的数量,当学生(A,B)的数量与学生(B,A)的数量相同时,符合条件。
注意:当n为奇数时,不能直接判断不符合条件。
代码:
#include<cstdio>#include<iostream>#include<string>#include<vector>#include<set>#include<map>#include<algorithm>#include<cmath>using namespace std;struct Student{int a,b;Student(){}Student(int x,int y){a=x,b=y;}bool operator <(const Student& other) const {if(a<other.a||(a==other.a&&b<other.b)) return true;return false;}};int n;map<Student,int> mp;int main() {while(scanf("%d",&n)==1&&n!=0) {mp.clear();for(int i=1;i<=n;i++){int x,y;scanf("%d%d",&x,&y);Student aa=Student(x,y);if(!mp.count(aa)) mp[aa]=0;mp[aa]=mp[aa]+1;}bool flag=true;for(map<Student,int>::iterator it=mp.begin();it!=mp.end();it++){Student x=(it->first),y=Student(x.b,x.a);if(!mp.count(y)||mp[x]!=mp[y]){flag=false;break;}}if(flag) printf("YES\n");else printf("NO\n");}return 0;}
阅读全文
3 0
- UVa 10763 - Foreign Exchange
- UVa 10763 - Foreign Exchange
- uva 10763 - Foreign Exchange
- uva 10763 - Foreign Exchange
- Foreign Exchange uva 10763
- 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 10763Foreign Exchange
- Java中的集合类
- Matlab中meshgrid的用法
- 华为OJ——无线OSS-高精度整数加法
- 旋转数组
- Linux的sed命令详解
- uva 10763 Foreign Exchange
- 素数距离问题
- digitalocean使用Python简易ftp服务器
- WaitForMultipleObject与MsgWaitForMultipleObjects用法
- C++ 理解#include如何工作
- HDOJ 6045-Is Derek lying?
- java基础习题50道(三)
- 以下代码的输出结果是什么?
- 用户资源访问(二)