比赛 20131026 评测结果 AAATTTTTTA
题目名称 zwei 最终得分 40
用户昵称 胡嘉兴 运行时间 6.004 s
代码语言 C++ 内存使用 4.00 MiB
提交时间 2015-09-12 22:45:35
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<cstdlib>
using namespace std;
#define N 1000005
int main()
{
	int f[N], i, n, m, x, y, flag, j, a;
	freopen("zwei.in", "r", stdin);
	freopen("zwei.out", "w", stdout);

	scanf("%d%d", &n, &m);
		
	for(i = 1; i <= n; i++)
	{

		scanf("%d", &f[i]);

		if(i != 1)
		{
			f[i] = f[i - 1] ^ f[i];
		}
	}
	for(i = 0; i < m; i++)
	{

		scanf("%d%d%d", &flag, &x, &y);

		if(flag)
		{
			if(x == 1)
			{

				printf("%d\n", f[y]);

			}
			else
			{

				printf("%d\n", f[y] ^ f[x - 1]);

			}
		}
		else
		{
			a = f[x] ^ f[x - 1];
			for(j = x; j <= n; j++)
			{
				f[j] = f[j] ^ a ^ y;
			}
		}
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}