FZU1080 奇怪的數列

2022-01-19 09:54:02 字數 1324 閱讀 5526

有乙個長度為n (10 6 0 8 0

經一次加倍轉移後,其後繼狀態為:

6 0 14 0 8

特別要注意的是:第乙個元素的數加倍後,向左邊移動的數又回到原處。最後乙個元素的數加倍後,向右邊移動的數消失。如上述狀態再經一次加倍轉移後的後繼狀態是:

6 20 0 22 0

有些狀態不可能是另一些狀態的後繼狀態,我們稱這樣狀態為「根狀態」。給出乙個狀態,求它的根狀態。

第一行僅包含乙個表示測試例個數的正整數n。以下 2n 行為測試例的輸入資料。

每個測試例輸入兩行,第一行是乙個正整數,為數列的長度。第二行為給定的乙個數列,兩數之間用乙個空格隔開。

每個測試例輸出一行,包含數列的根狀態下的各個元素,兩數之間用乙個空格隔開。25

5 10 1 9 0

81 0 1 1 0 3 9 1

0 0 1 0 0

1 0 1 1 0 3 9 1

#include #include 

using

namespace

std;

/* 1層: 0 6 0 8 0

2層: 6 0 14 0 8

3層: 6 20 0 22 0

因為最右邊向右移會消除於是有:[2][4]=[3][5]

之後從右向左遞推 [2][2]=[3][5]-[2][4]...

之後從左向右遞推 [2][3]=[3][2]-[3][1]...

*/int

main()

;

intn, t;

scanf("%d

", &n);

while (n--)

//計算上乙個陣列含有負數的時候 說明當前陣列為根

while (!tag)

}if(tag)

break

;

//注意n為奇的時候 [x][1]要另外算 迴圈上述迴圈不會遍歷到

if (t % 2

)

}for (int i = 3; i <= t; i += 2

)

}if(tag)

break

; now =pre;

pre = (pre + 1) % 2

; }

printf("%d

", num[now][1

]);

for (int i = 2; i <= t; i++)

cout

<}

}

原創 720p,1080i,1080p的區別

因為肉眼對橫向解析度更敏感,所以擁有更高的橫向解析度,也就是我們通常說的橫線數,對於高畫質影象的解析度,有著決定性的作用。其實這個要從電影的拍攝說起,最早的電影,採用的膠片是4 3的膠片,拍出的也是接近正方的4 3影象,後來通過人們對視覺的研究發現,人們對更寬的影象有偏好,所以發展出了遮幅這個概念,...

FZU 單詞問題

給出乙個完整的句子,這個句子中不包含不可見字元或者空格,於是在這個句子中有許多不同的單詞。乙個單詞是指一串連續的最長的英文本母 大寫或小寫 例如 abc 中,abc 就是乙個單詞,而 ab bc 都不算單詞。輸入包含多組資料 輸入資料第一行是乙個句子,只包含可見字元 不包含空格 句子長度不超過 10...

fzu 單詞問題

description 給出乙個完整的句子,這個句子中不包含不可見字元或者空格,於是在這個句子中有許多不同的單詞。乙個單詞是指一串連續的最長的英文本母 大寫或小寫 例如 abc 中,abc 就是乙個單詞,而 ab bc 都不算單詞。input 輸入包含多組資料 輸入資料第一行是乙個句子,只包含可見字...