PAT乙級-1046. 划拳(15)
阿新 • • 發佈:2019-01-09
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;
}