(実際には今日は...すべての数学についてです)質問を考えて面白いゲームをvjudge

オリジナルリンクhttps://vjudge.net/contest/331993#problem/H

 

アリスとボブは面白いゲームをプレイすることを決定しました。ゲームの開始時に、彼らは(<= N <= 10 1ピックN 6 、図1に示すように、コイン円内)。動きはそのまま、他のすべての硬貨を残し、一つまたは二つの隣接するコインを除去することからなります。少なくとも一つのコインを削除する必要があります。プレイヤーはアリスが始まる移動を交互。最後のコインを取り除くプレイヤーが勝ちます。(最後のプレイヤーが勝利を移動します。あなたが移動できない場合、あなたは失われます。)

図1

なお、 CNは時計回りにコインを示すために、...、nは> 3の場合、我々はC1、C2を使用して、アリスC2を削除する場合は、C1とC3は、隣接していません!(C1とC3の間に空所がありますので。)

アリスとボブの両方がゲーム内で自分のベストを尽くすこととします。
あなたは最終的にゲームに勝つ者を決定するためのプログラムを書くことです。

入力

いくつかのテストケースがあります。各テストケースは、正の整数nを含んでいる唯一のラインを有し、(1 <= N <= 10 6 )。例の間には空白行はありません。単一0の行は入力を終了します。

出力

各テストケース、アリスが試合を勝てば、出力「アリス」、それ以外の場合は出力「ボブ」のために。

サンプル入力

1 
2 
3 
0

サンプル出力

アリス
アリス
ボブ



する#include <stdio.hの>
 int型のmain(){
     int型N-、
     一方(scanfの(" %のD "、およびN-)){
         IF(N - == 0BREAK ; 
         IF(N - <= 2 
            のprintf(" アリス\ N- " );
         
            のprintf(" ボブ\のN- " ); 
    } 
    戻り 0 ; 
} 
// 1,2、三回のフリップ勝利を上ハンドに勝つ
 // N> = 4の場合、上側の手元操作、リングの分析後に今、チェーンなる
 // 中間一つ又は二つの同一鎖に鎖の両方削除した場合、
// あなたが勝つことができるように、お互いを取る方法を、次の、それは、別の動作シーケンスと同じチェーンです。
// 000万000,0000 0000、......これは、上の手-Winの状況について同じような状況であること。
// だから、上側の手はチェーン、リング(N> 3)に勝つとき、上側の手を失った場合です。

 

おすすめ

転載: www.cnblogs.com/QingyuYYYYY/p/11628152.html