题意:可以想象成数字的交换,然后最后判断是否有相换的数字是否有在换回来
思路:如果匹配的話那麼兩邊的輸入排序後一定是一致的
代碼:
#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;
}
转载请注明原文地址: https://ju.6miu.com/read-13749.html