uva10763

题意:

判断交换生是否两两交换,即凡有a-b必有b-a

思路:

用一个数组存储ab的情况a-b就+1b-a就-1,如果最后有非0的就是不行

代码:

#include
#include
using namespace std;
int g[1000][1000], n;
int main() {
	while(scanf("%d", &n) == 1 && n) {
		int x, y;
		memset(g, 0, sizeof(g));
		for(int i=0; i y)
			g[x][y]++;
			else g[y][x]--;
		}
		int flag = 1;
		for(int i=0; i<1000; i++)
			for(int j=0; j<1000; j++)
				if(g[i][j] != 0) flag = 0;
		if(flag) printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


你可能感兴趣的:(寒假训练)