Blink(string類 模擬 找迴圈節)

2021-09-25 04:57:24 字數 1237 閱讀 3193

吊燈由n(3 <= n <= 16)個燈組成,並排成乙個圓圈。

在時間t時,他們會操作在時間t-1時左邊的燈是開著的燈的燈泡的開關。

他們會在b個單位的時間裡一直進行這樣的操作( 1 <= b <= 10^15 )

請注意,b可能會超過一般的32位整數的範圍。

現在已知每乙個燈的初始狀態,請計算出在經過b個單位的時間後,每乙個燈的狀態

輸入格式:

第1行是兩個整數,n和b

第2~1+n中,第i+1行描述了燈的初始狀態,用0(關)與1(開)表示

輸出格式:

n行,第i行應輸出乙個整數,描述燈的最終狀態,用0(關)與1(開)表示

輸入樣例#1:

5 610

000輸出樣例#1:1

1101

說明 樣例輸出解釋:

下面是樣例輸出的模擬

time t=0: 1 0 0 0 0

time t=1: 1 1 0 0 0

time t=2: 1 0 1 0 0

time t=3: 1 1 1 1 0

time t=4: 1 0 0 0 1

time t=5: 0 1 0 0 1

time t=6: 1 1 1 0 1

一開始就想到去模擬,只是奈何b太大了,但是可以發現存在規律,所以可以用模擬+找迴圈節ac這題。(b注意用long long)

/*10ms*/

#include

using namespace std;

typedef

long

long ll;

intmain()

} b[0]

=a;///將a陣列複製給b[0]陣列

for(

int i=

1;i<=b;i++)}

a[0]

=a[n]

; b[i]

=a;//cout(int u=

1;u<=i-

1;u++)}

rr=i;

if(y)

break

;///遇到迴圈節後打斷模擬過程}if

(rr==b)

}else}}

return0;

}

模擬 找規律

現代數學的著名證明之一是georg cantor證明了有理數是可列舉的。他是用下面這一張表來證明這一命題的 1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 3 1 3 2 3 3 4 1 4 2 5 1 我們以z字形給上表的每一項編號。第一項是1 1,然後是1 2,2 1,3...

模擬 找規律

走格仔時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 在平面上有n n大小的正方形,定義正方形左下角座標是 1,1 右下角座標是 n,1 現在a君在左下角,他的初始方向是向右,他要在正方形內走m步 當a君碰到邊界...

找位置(簡單模擬)

對給定的乙個字串,找出有重複的字元,並給出其位置,如 abcaaab12ab12 輸出 a,1 a,4 a,5 a,10,b,2 b,11,1,8 1,12,2,9 2,13。輸入描述 輸入包括乙個由字母和數字組成的字串,其長度不超過100。輸出描述 可能有多組測試資料,對於每組資料,按照樣例輸出的...