1. 程式人生 > >演算法提高 林丹大戰李宗偉

演算法提高 林丹大戰李宗偉

問題描述

  我們用0表示林丹,1表示李宗偉。   輸入資料中每行會給出一個0或者1,表示對應選手得1分。   當一方得分達到21分時,只要該方與對方分差超過1分,該方即勝出。   你需要輸出最後獲勝選手的代號。

輸入格式

  若干行每行一個0或者1。

輸出格式

  一行一個0或者1表示勝者。

樣例輸入

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

樣例輸出

1

資料規模和約定

  輸入資料可能存在多餘資訊,選手需要在第一次出現勝者時馬上輸出。   讀入可以使用while (cin >> x){},該程式碼塊會在讀入所有資料後執行完畢。

#include <iostream>
using namespace std;

int main()
{
    int d, w;
    int x;
    while(cin >> x){
        if(x == 0)
            d++;
        else 
            w++;
        if(d>=21 && w<d-1){
            cout<<"0";
            break;
        }else if(w>=21 && d < w-1){
            cout << "1";
            break;
        }
    }
    return 0;
}