uva10763 - Foreign Exchange

来源:互联网 发布:c语言编写的交易程序 编辑:程序博客网 时间:2024/04/28 07:54

原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1704

题意:有n(1<=n<=500000)个学生交换到其他学校,从A学校到B学校的学生必须找一个从B学校到A学校的搭档。如果每个都满足,学校同意交换。学生用A、B表示,你判断交换是否可以进行。

思路:因为限定了是其他学校,所以A和B就不能相等,就可以直接把A排序,把B排序。比较是否相同就行了。

#include<cstdio>//#include<map>#include<algorithm>#include<cstring>using namespace std;const int maxn=500005;int n,cnt,a[maxn],b[maxn];bool judge(){    sort(a,a+n);    sort(b,b+n);    for(int i=0;i<n;i++){        if(a[i]!=b[i])            return false;    }    return true;}int main(){    //freopen("in.txt","r",stdin);    //freopen("out.txt","w",stdout);    while(scanf("%d",&n)==1&&n){        for(int i=0;i<n;i++){            scanf("%d%d",&a[i],&b[i]);        }        if(judge()){            puts("YES");        }        else{            puts("NO");        }    }    return 0;}
0 0
原创粉丝点击