• PAT天梯:L1-019. 谁先倒


    L1-019. 谁先倒

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    陈越

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

    下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。

    输入格式:

    输入第一行先后给出甲、乙两人的酒量(不超过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<bits/stdc++.h>
    using namespace std;
    struct wzy{
    	int jia_han,jia_hua;
    	int yi_han,yi_hua;
    }p[11101];
    int main()
    {
    	int jia,yi;
    	int n;
    	cin>>jia>>yi;
    	int j=0,y=0;
    	cin>>n;
    	for(int i=0;i<n;i++)
    	{
    		cin>>p[i].jia_han>>p[i].jia_hua>>p[i].yi_han>>p[i].yi_hua;
    	}
    	for(int i=0;i<n;i++)
    	{
    		if(p[i].jia_han+p[i].yi_han==p[i].jia_hua&&p[i].jia_han+p[i].yi_han==p[i].yi_hua) continue;
    		else if(p[i].jia_han+p[i].yi_han==p[i].jia_hua&&p[i].jia_han+p[i].yi_han!=p[i].yi_hua) j++;
    		else if(p[i].jia_han+p[i].yi_han==p[i].yi_hua&&p[i].jia_han+p[i].yi_han!=p[i].jia_hua) y++;
    		if(j>jia)
    		{
    			cout<<"A
    "<<y<<endl;
    			break;
    		} 
    		if(y>yi)
    		{
    			cout<<"B
    "<<j<<endl;
    			break;
    		}
    	}
    	return 0;
    }

  • 相关阅读:
    24. Swap Nodes in Pairs(M);25. Reverse Nodes in k-Group(H)
    61. Rotate List(M);19. Remove Nth Node From End of List(M)
    素数筛选法(prime seive)
    哈夫曼树;二叉树;二叉排序树(BST)
    sort与qsort的区别与联系
    贪心算法
    First non-repeating character in a stream
    transform
    C++11 & C++14 & C++17新特性
    开个玩笑
  • 原文地址:https://www.cnblogs.com/Friends-A/p/9309029.html
Copyright © 2020-2023  润新知