uva10763

  • Post author:
  • Post category:其他


题意:可以想象成数字的交换,然后最后判断是否有相换的数字是否有在换回来

思路:如果匹配的話那麼兩邊的輸入排序後一定是一致的

代碼:

#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 版权协议,转载请附上原文出处链接和本声明。