haohao对XZC的刁难 Apare_xzc

haohao对XZC的刁难

时间限制:1000ms
内存限制: 128M


题面:

        众所周知,XZC的npy haohao是一个成绩优异的好孩子,热爱学习算法。这天haohao又在刷题了,她很快地切掉了“敌兵布阵”,但是卡在了一道贴海报的题目上。她对叫一旁的XZC帮他debug,XZC专心于玩他的魔方,正在背COLL公式,顺口回了一句:”线段树数据那么大,我才懒得给你对拍,Wa了就是代码太丑了。“ …他完全没有注意到haohao生气的表情,唉,这个直男,又把npy惹生气了。他只好灰溜溜地帮她debug,看了半天,发现题目是多组输入… 虽然haohao迅速AC了这题,但她还是很生气…
        XZC灵机一动,说道:”我们来玩游戏叭“。haohao眼珠一转,说:”好啊“。我有一串长度为n的数列,你可以问我m个问题,每个问题问两个整数x,y(1<=x<=y<=n),我会回答你下标在区间[x,y]之内所有数的异或和。然后你必须还原这个数列,不然我就再也不理你了,哼!
        XZC一头黑线,haohao这是学线段树学魔怔了?问着问着,他隐隐约约觉得haohao在故意回答错误的异或和,前后好像有矛盾,但是他找不到证据,你能帮帮他吗?

输入格式

输入第一行为两个整数n,m(1<=n<=10000, m<=100000)
然后又m行,每行有三个整数L,R,sum(1<=L<=R<=n, 0<=sum<2^31)分别表示区间左端点,区间右端点,和区间异或和。

输出格式

第一行输出一行”There is(are) totally cnt problem(s)“,不输出引号,cnt表示和前面出现矛盾的回答的个数。
然后输出cnt行,每行输出的格式为”In the qurey ID, the sum xor of [ L, R] is supposed be rightAns, not wrongAns“ 。不输出引号。ID代表与前面矛盾的是第几个询问,L,R分别代表询问区间的左右端点,wrongAns代表haohao错误的回答,rightAns代表区间[L,R]合理的异或和注意:ID输出占7个字节,L和R占5个,rightAns和wrongAns占11个,靠右输出

样例输入:

5 8
5 5 5
5 6 3
6 6 0
5 6 2
1 1 1
1 2 3
1 3 0
3 3 2

样例输出:

There is(are) totally 3 problem(s)
In the qurey       3, the sum xor of [    6,    6] is supposed be           6, not           0
In the qurey       4, the sum xor of [    5,    6] is supposed be           3, not           2
In the qurey       8, the sum xor of [    3,    3] is supposed be           3, not           2


样例解释

  1. cal[5,5] = 5说明 arr[5] = 5
  2. cal[5,6] = 3说明 arr[5] xor arr[6] = 3, 得出 arr[6] = 6
  3. cal[6,6] = 0说明 arr[6] = 0,与(2)的结论矛盾,(3)错误
  4. cal[5,6] = 2与(2)矛盾,(4)错误
  5. cal[1,1] = 1说明 arr[1] = 1
  6. cal[1,2] = 3说明 arr[1] xor arr[2] = 3, 得出arr[2] = 2
  7. cal[1,3] = 0说明 arr[1] xor arr[2] xor arr[3] = 0
    结合(6),(7)我们可以得到arr[3] = 3
  8. cal[3,3] = 2与之前的结论矛盾,(8)错误

xzc
2020.2.18

猜你喜欢

转载自blog.csdn.net/qq_40531479/article/details/104378730