• 【算法笔记】B1046 划拳


    1046 划拳 (15 分)

    划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。

    下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。

    输入格式:

    输入第一行先给出一个正整数 N(100),随后 N 行,每行给出一轮划拳的记录,格式为:

    甲喊 甲划 乙喊 乙划
    

    其中是喊出的数字,是划出的数字,均为不超过 100 的正整数(两只手一起划)。

    输出格式:

    在一行中先后输出甲、乙两人喝酒的杯数,其间以一个空格分隔。

    输入样例:

    5
    8 10 9 12
    5 10 5 10
    3 8 5 12
    12 18 1 13
    4 16 12 15
    

    输出样例:

    1 2

    思路:

    甲赢:a2=a1+b1 且 b2≠a1+b1    乙赢:a2≠a1+b1 且 b2=a1+b1

    #include<iostream>
    using namespace std;
    
    int main(){
        int n;
        cin>> n;
        int a1, a2, b1, b2;
        int failA = 0, failB = 0;
        while(n --){
            cin>>a1>>a2>>b1>>b2;
            if(a2 == a1 + b1 && b2 != a1 + b1) failB++;
            else if(a2 != a1 + b1 && b2 == a1 + b1) failA++;
            else continue;
        }
        cout<<failA<<" "<<failB;
        return 0;
    }
  • 相关阅读:
    4. Android框架和工具之 android-async-http
    3. Android框架和工具之 xUtils(BitmapUtils)
    自定义多列排序:C++/Java实现
    Java套接字
    Java泛型
    线程同步之生产者消费者
    面向对象之深复制与浅复制
    谈谈多线程
    递归与尾递归
    单例模式:Instance
  • 原文地址:https://www.cnblogs.com/chunlinn/p/10523494.html
Copyright © 2020-2023  润新知