1. 程式人生 > >PAT乙級-1046. 划拳(15)

PAT乙級-1046. 划拳(15)

1.題目

這裡寫圖片描述

2.分析題目

首先,題目不難,只是敘述內容很多,讓人眼花繚亂。面對這種文字的亂葬崗,我們必須首先提取對我們有用的資訊,這在處理實際的生產需求時也是,我們首先要從文字的海洋裡打撈出工程所需要處理的邏輯部分。
在這道題裡,我們首先要清楚獲勝規則,如果我們需要明晰獲勝規則,我們需要簡化問題的變數。什麼意思呢?這其實是一個很簡單的邏輯對映程式碼的問題。如圖:
這裡寫圖片描述

3.程式碼

#include <iostream>
using namespace std;

int main(int argc, char** argv) {
    int times = 0;
    cin
>>times; int a_total_drink=0; int b_total_drink=0; while(times--) { int a_speak;// 甲喊 int a_guess;// 甲劃 int b_speak;// 乙喊 int b_guess;// 乙劃 cin>>a_speak>>a_guess>>b_speak>>b_guess; if(a_guess==a_speak+b_speak&&b_guess==a_speak+b_speak) { continue
; } if(a_guess==a_speak+b_speak) { b_total_drink++; }else if(b_guess==a_speak+b_speak) { a_total_drink++; } } cout<<a_total_drink<<" "<<b_total_drink; return 0; }