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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章