(~解题报告~)L1-019 谁先倒 (15分) ——17行代码AC
生活随笔
收集整理的這篇文章主要介紹了
(~解题报告~)L1-019 谁先倒 (15分) ——17行代码AC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
立志用更少的代碼做更高效的表達
劃拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人劃拳的方法為:每人口中喊出一個數字,同時用手比劃出一個數字。如果誰比劃出的數字正好等于兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。
下面給出甲、乙兩人的酒量(最多能喝多少杯不倒)和劃拳記錄,請你判斷兩個人誰先倒。
輸入格式:
輸入第一行先后給出甲、乙兩人的酒量(不超過100的非負整數),以空格分隔。下一行給出一個正整數N(≤100),隨后N行,每行給出一輪劃拳的記錄,格式為:
甲喊 甲劃 乙喊 乙劃
其中喊是喊出的數字,劃是劃出的數字,均為不超過100的正整數(兩只手一起劃)。
輸出格式:
在第一行中輸出先倒下的那個人:A代表甲,B代表乙。第二行中輸出沒倒的那個人喝了多少杯。題目保證有一個人倒下。注意程序處理到有人倒下就終止,后面的數據不必處理。
輸入樣例:
1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16
輸出樣例:
A
1
思路分析
一道普普通通的模擬題, 模擬題的答題技巧: 認真讀題!認真讀題!認真讀題!
注意:
代碼展示
#include<iostream> using namespace std; int main() {int cup1, cup2; cin>>cup1>>cup2; //輸入能喝多少杯而不倒 cup1 += 1; cup2 += 1; //注意 要加一 int cup11 = cup1, cup22 = cup2;int n; cin>>n; //輸入輪數 for(int i = 0; i < n; i++) {int x1, x2, x3, x4;cin>>x1>>x2>>x3>>x4;if(x1+x3==x2 && x1+x3==x4) continue; //若同輸,則下一輪 if(x1 + x3 == x2) cup11--; //甲輸 if(x1 + x3 == x4) cup22--; //乙輸 if(cup11==0) { cout<<'A'<<'\n'<<cup2-cup22; break; } //若某人輸則輸出,然后break if(cup22==0) { cout<<'B'<<'\n'<<cup1-cup11; break; } } return 0; }每日一句:
零星的變好,最后也會如星河般閃耀。
總結
以上是生活随笔為你收集整理的(~解题报告~)L1-019 谁先倒 (15分) ——17行代码AC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10行代码AC——L1-018 大笨钟
- 下一篇: (~解题报告~)L1-020 帅到没朋友