题意:可以想象成数字的交换,然后最后判断是否有相换的数字是否有在换回来
思路:如果匹配的話那麼兩邊的輸入排序後一定是一致的
代碼:
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 500005;
int n, n1[N], n2[N];
int main() {
int i;
while(scanf("%d", &n) && n) {
bool flag = true;
for(i=0; i<n; i++) {
scanf("%d %d", &n1[i], &n2[i]);
}
if(n % 2 != 0) {
flag = false;
printf("NO\n");
continue;
}
sort(n1, n1+n);
sort(n2, n2+n);
for(i=0; i<n; i++) {
if(n1[i] != n2[i]) {
printf("NO\n");
flag = false;
break;
}
}
if(flag) printf("YES\n");
}
return 0;
}
版权声明:本文为deepquiet原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。