這題寫的很惡心,我的代碼風格太差了……在POJ上提交的時候是9000多B……罪過
我沒有用到位運算。
有4種按鈕,第1種全變,第2種2K+1,第3種2k,第4種3*k+1.
共2^4種,由于摁兩種相當于沒摁,所以列出所有的8種狀態
燈滅為0,亮為1:
最終狀態                                 燈滅的位置                     摁按鈕次數
0000000000000000……  all                     1or2
0011100011100010……                          2or3  
0101010101010101……  2k+1                 1or2   
0110110110110110……  3k+1                 1or4
1001001001001001……  3k&&3k-1           2or3
1010101010101010……  2k                     1or2
1100011100011100……                          2or3
1111111111111111……  none                  0or2or3
當摁按鈕次數c>=5時,奇數可以轉化成1或3,偶數可以轉化成2或4.
參考上面的摁按鈕次數,可知c>=5時8種狀態都可以達到。
根據c的值取上述中符合條件的狀態,再加上附加的燈亮和燈滅的條件就可以得到解。