ZeroJudge D155: Disappeared Moon
*This problem involves understanding of Chinese/Mandarin.

正當夏季要過去的時候,幻想鄉又再一次發生異變

本來在這一晚裏會出滿月,但是月亮似乎因為某些事故而消失了

這情況對人類來說沒有甚麼大問題,但對妖怪來說則是攸關生死的事情

而在幻想鄉棲息的妖怪-八雲紫察覺到這次異變的發生,因為自己一個人不方便行動

所以就邀請了博麗神社的巫女-博麗靈夢一同出發解決異變

但靈夢正為了神社日益短少的香油錢煩惱,並沒有很想去的意願

於是八雲紫就想出以猜拳的方式來決定去留與否

假如紫贏的話,就理所當然一起出發

如果是靈夢贏的話,紫就要留下來一起籌措香油錢

Sample Inputs/Outputs

Sample Input(s)Sample Output(s)
EOF 輸入,每筆輸入中有兩筆資料,前者為八雲紫出的拳,後者為靈夢的,中間以空白間隔
由於兩人都對需要不斷的出拳感到疲倦與厭煩
所以靈夢就拿出三支籤
分別寫上(Scissors,Stone,Paper)來代表(剪刀,石頭,布)
由兩人各抽一支來決定輸贏
因為都各只有一支籤,所以不用考慮平手的問題
除了對每筆測資輸出贏家之外
還需計算誰贏的勝場數最多
輸入的最後為「Game Over」
這時輸出結局
靈夢贏的話就輸出「靈夢獲勝」
反之則輸出「紫獲勝」
比較完勝場數之後輸出結局
假如靈夢贏的場數較多
則在最後輸出「悲慘的籌措起香油錢」
反之則輸出「螢火的蹤跡」
Scissors Stone
Paper Stone
Paper Stone
Scissors Paper
Game Over
靈夢獲勝
紫獲勝
紫獲勝
紫獲勝
螢火的蹤跡

Thought Process

將某一個人的勝利條件設為 ifelse 就會是另外一個人勝利。

Sample Code-ZeroJudge D155: Disappeared Moon
*This problem involves understanding of Chinese/Mandarin.

#include <iostream>
using namespace std;

int main() {
    string purple, dream;
    int P = 0, D = 0;
    while (cin >> purple >> dream && purple != "Game")
    {
        if ((purple == "Scissors" && dream == "Stone") || (purple == "Stone" && dream == "Paper") || (purple == "Paper" && dream == "Scissors"))
        {
            D++;
            cout << "靈夢獲勝\n";
        }
        else
        {
            P++;
            cout << "紫獲勝\n";
        }
    }
    if (P > D) cout << "螢火的蹤跡\n";
    else cout << "悲慘的籌措起香油錢\n";
}

//ZeroJudge D155
//Dr. SeanXD

Comments