查看: 1201|回復: 0
打印 上一主題 下一主題

[TOJ] 125 Holy War

[複製鏈接]
  • TA的每日心情
    鬱悶
    2015-2-10 21:23
  • 簽到天數: 1 天

    [LV.1]初來乍到

    12

    主題

    69

    帖子

    779

    積分

    高級會員

    Rank: 4

    積分
    779

    台南一中資訊社

    跳轉到指定樓層
    樓主
    發表於 2014-8-14 00:43:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    Prerequisite:Nim Game
    可參考 教學

    這題相當於 P 排石頭的 Nim Game。
    題目要求把所有樹林合併起來,同種的樹要把數量加在一起,
    最後再來做一次 Nim Game。

    AC Code:
    [C++] 純文本查看 復制代碼
    #include <iostream>
    #include <algorithm>
    #include <vector>
     
    using namespace std;
     
    int main() {
        ios::sync_with_stdio(false);
         
        int N, P, C;
        cin >> N >> P >> C;
         
        vector<int> tree(P, 0);
        for (int i=0; i<N; i++)
            for (int j=0; j<P; j++) {
                int inp;
                cin >> inp;
                tree[j] += inp;
            }
        
        int nim_sum = tree[0];
        for (auto it=tree.begin()+1; it != tree.end(); it++)
            nim_sum = nim_sum ^ (*it);
         
        if (nim_sum == 0)
            cout << ((C == 0) ? "Ivy Win!" : "Holly Win!") << "\n";
        else
            cout << ((C == 0) ? "Holly Win!" : "Ivy Win!") << "\n";
         
        return 0;
    }

    評分

    參與人數 1金幣 +6 收起 理由
    Sylveon + 6

    查看全部評分

    回復

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表