UVA 10763 Foreign Exchange
来源:互联网 发布:传智播客python就业班 编辑:程序博客网 时间:2024/06/06 08:56
题意:有n个学生想交换学习,如果一个人想从A校到B校,就必然要有一个人从B校到A校,给出每个人的信息,问这n个人能不能都交换成功。
思路:如果一个二元组(x,y)表示从x校到y校的学生数量,那么对于所有的二元组,且(y,x) = (x,y) 都成立,这些学生才能交换成功。可以用map来统计pair<int,int>,最后判断一下。
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <cstdlib>#include <iostream>#include <algorithm>#include <map>#include <utility>using namespace std;#define rep(i,j,k) for (int i=j;i<=k;i++)#define Rrep(i,j,k) for (int i=j;i>=k;i--)#define Clean(x,y) memset(x,y,sizeof(x))#define mp make_pairconst int maxn = 500005;int n;int x[maxn];int y[maxn];map< pair<int,int> , int > flag;bool check(){ if ( n & 1 ) return false; rep(i,1,n) if ( flag[ mp( x[i] , y[i] ) ] != flag[ mp( y[i] , x[i] ) ] ) return false; return true;}int main(){ while(cin>>n) { if ( !n ) break; flag.clear(); rep(i,1,n) { scanf("%d%d",&x[i],&y[i]); flag[ mp(x[i],y[i]) ]++; } puts( check()?"YES":"NO"); } return 0;}
0 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
- UVA 1593 Alignment of Code
- UVA 1594 Ducci Sequence
- Putty Key Generator使用方法
- UVA 10935 Throwing cards away
- freemodbus modbus TCP 学习笔记
- UVA 10763 Foreign Exchange
- UVA 10391 Compound Words
- UVA 1595 Symmetry
- The Java™ Tutorials — Concurrency :Pausing Execution with Sleep 利用Sleep暂停线程执行
- javascript中循环函数中的return
- UVA 12100 Printer Queue
- Ubuntu /boot空间不足
- UVA 230 Borrowers
- UVA 1596 Bug Hunt