PAT 1046 划拳

来源:互联网 发布:淘宝价格策略 编辑:程序博客网 时间:2024/05/22 07:04

问题描述:

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

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

输入格式:

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

甲喊 甲划 乙喊 乙划

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

输出格式:

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

输入样例:

58 10 9 125 10 5 103 8 5 1212 18 1 134 16 12 15

输出样例:

1 2

Code:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main {    public static void main(String[] args) throws IOException {        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        int n = Integer.parseInt(br.readLine());        String[] tmp;        int aSpeak, aDo, bSpeak, bDo, sumSpeak;        int sumA = 0, sumB = 0;        while (n-- > 0) {            tmp = br.readLine().trim().split(" ");            aSpeak = Integer.parseInt(tmp[0]);            aDo = Integer.parseInt(tmp[1]);            bSpeak = Integer.parseInt(tmp[2]);            bDo = Integer.parseInt(tmp[3]);            sumSpeak = aSpeak + bSpeak;            if ((aDo != sumSpeak && bDo != sumSpeak) || (aDo == sumSpeak && bDo == sumSpeak)) {                continue;            }            if (aDo == sumSpeak) {                sumB++;            } else {                sumA++;            }        }        System.out.println(sumA + " " + sumB);        br.close();    }}
原创粉丝点击