B1046. 划拳

题目描述#

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

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

输入格式#

  第一行先给出一个正整数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

基本思路#

  • 同时赢或同时输,不计失败次数,一方赢一方输,输的那方喝酒,并记录失败次数
复制代码
int main(int argc, char *argv[]) {
    // failA, failB 表示甲、乙猜拳失败喝酒的次数,n表示总行数 
    int failA = 0, failB = 0, n;
    int a1, a2, b1, b2;
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        scanf("%d%d%d%d", &a1, &a2, &b1, &b2);
        // 甲猜中,乙没猜中 
        if(a1 + b1 == a2 && a1 + b1 != b2){
            failB++;
        }else if(a1 + b1 == b2 && a1 + b1 != a2){
            failA++;
        }
    }
    printf("%d %d\n", failA, failB);
    return 0;
}
复制代码
posted @   BigBender  阅读(151)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示
主题色彩