UVA 10763 Foreign Exchange

思路:

  用两个整型数组a,b,分别存每个学生的原始位置和目标位置,然后排序,必须是一一对应才可以进行交换。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<cstdlib>
 5 #define max 500005
 6 #define FIN freopen("input.txt","r",stdin)
 7 #define FOUT     freopen("output.txt","w",stdout)
 8 using namespace std;
 9 int main()
10 {
11     //FIN;
12     //FOUT;
13     int a[max], b[max];
14     int n;
15     while (scanf("%d", &n) && n != 0)
16     {
17         bool ok = true;
18         int m = n, cnt = 0;
19         for (int i = 0; i < n; i++)
20         {
21             scanf("%d%d", &a[i], &b[i]);
22         }
23 
24 
25         sort(a, a + n);
26         sort(b, b + n);
27 
28         for (int i = 0; i < n; i++)
29         {
30             if (a[i] != b[i])
31             {
32                 ok = false;
33                 break;
34             }
35         }
36         if (ok)
37             printf("YES\n");
38         else
39             printf("NO\n");
40     }
41     return 0;
42 }

 

posted @ 2019-02-14 23:43  付玬熙  阅读(129)  评论(0编辑  收藏  举报