高僧鬥法 藍橋杯第四屆大賽真題

2022-09-08 15:18:08 字數 1095 閱讀 7391

問題描述

古時喪葬活動中經常請高僧做法事。儀式結束後,有時會有「高僧鬥法」的趣味節目,以舒緩壓抑的氣氛。

節目大略步驟為:先用糧食(一般是稻公尺)在地上「畫」出若干級台階(表示n級浮屠)。又有若干小和尚隨機地「站」在某個台階上。最高一級台階必須站人,其它任意。(如圖1所示)

兩位參加遊戲的法師分別指揮某個小和尚向上走任意多級的台階,但會被站在高階台階上的小和尚阻擋,不能越過。兩個小和尚也不能站在同一台階,也不能向低階台階移動。

兩法師輪流發出指令,最後所有小和尚必然會都擠在高段台階,再也不能向上移動。輪到哪個法師指揮時無法繼續移動,則遊戲結束,該法師認輸。

對於已知的台階數和小和尚的分布位置,請你計算先發指令的法師該如何決策才能保證勝出。

輸入格式

輸入資料為一行用空格分開的n個整數,表示小和尚的位置。台階序號從1算起,所以最後乙個小和尚的位置即是台階的總數。(n<100, 台階總數<1000)

輸出格式

輸出為一行用空格分開的兩個整數: a b, 表示把a位置的小和尚移動到b位置。若有多個解,輸出a值較小的解,若無解則輸出-1。

樣例輸入

1 5 9

樣例輸出

1 4樣例輸入

1 5 8 10

樣例輸出

1 3思路:尼姆博弈

package

藍橋杯練習;

import

j**a.util.scanner;

public

class

高僧鬥法

for (int i = 0; i < a.length-1; i++)

}//回溯

a[i]=monk;

}system.out.println("-1");

}private

static

boolean check()

for (int j = len-1; j >=0; j--) }}

for (int i = 0; i < maxlen; i++)

}return

true;//

否則我贏

}}

藍橋杯 第四屆c c B組決賽 高僧鬥法

如果每一種大小的子堆的個數都是偶數,我們就稱nim取子遊戲是平衡的,而對應位相加是偶數的稱為平衡位,否則稱為非平衡位。因此,nim取子遊戲是平衡的,當且僅當 as bs ms 是偶數 a1 b1 m1 是偶數 a0 b0 m0是偶數 注 這個地方沒有太懂,目前理解的是總共有偶數個nimm堆對應的數字...

第四屆藍橋杯真題 連號區間

本來想練習並查集,然後在看官網提示這是並查集型別題目,上來先默寫了一下並查集,想了半天並查集怎麼寫。我呸,並查集。這裡找規律。區間的 最大值 最小值 區間長度 直接列舉。討厭這種找規律的題。include include include include using namespace std con...

藍橋杯2023年第四屆真題剪格仔

問題 1432 藍橋杯 2013年第四屆真題 剪格仔 時間限制 1sec 記憶體限制 128mb 題目描述 歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開...