UVa10763--Foreign Exchange(水题)

题目大意:有n个学生分别想从学校a[i]交换到b[i],但是,只有当所有人都有自己partner时,才能成功交换


分析:对两组数据进行排序即可,只有当排序后,两组数据一模一样才输出YES


代码:

#include 
#include 
#include 
#include 
#include 
using namespace std;

const int maxn = 555555;

int n, a[maxn], b[maxn];

int main() {
    while(scanf("%d", &n) && n) {
        for(int i = 0; i < n; i++)
            scanf("%d%d", &a[i], &b[i]);
        sort(a, a+n);
        sort(b, b+n);
        int flag = 0;
        for(int i = 0; i < n; i++) {
            if(a[i] != b[i])  {
                flag = 1;
                break;
            }
        }
        if(flag) printf("NO\n");
        else printf("YES\n");
    }
    return 0;
}


你可能感兴趣的:(签到题)