划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。
输入格式:
输入第一行先给出一个正整数 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
题解如下:
15/15
这题很简单,只有一个人赢才算赢,注意打平的情况即可;在存数据的时候注意要转数字类型,后续做加法没有隐式转换,需要手动转一下
ps1045那个题好难啊也不想做,做出来也没有全对,下次再做吧
/**
* 2024/03/27
* 15/15
*/
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let num = 0;
let rows = [];
rl.on("line", function (data) {
if (num === 0) {
num = Number(data);
} else {
let arr = data.split(" ");
rows.push({
AMouth: Number(arr[0]),
AHand: Number(arr[1]),
BMouth: Number(arr[2]),
BHand: Number(arr[3]),
});
if (rows.length === num) {
deal();
}
}
});
function deal() {
let resArr = [0, 0];
rows.forEach((el) => {
if (
el.AHand === el.AMouth + el.BMouth &&
el.BHand !== el.AMouth + el.BMouth
) {
// 甲赢,乙喝酒
resArr[1]++;
} else if (
el.BHand === el.AMouth + el.BMouth &&
el.AHand !== el.AMouth + el.BMouth
) {
// 乙赢,甲喝酒
resArr[0]++;
}
});
console.log(resArr.join(" "));
}