思路
由于只有五种类型(单,双,三,顺,炸),所以比较好比较
首先判断双方是否都是炸弹,进行比较炸弹大小
其次判断是否一方有炸弹,
最后就是判断正常类型的大小,由于给出的是排好序的,所以只需要比较最后一个的大小
由于扑克牌的大小顺序和常规不同,所以自行定义一个大小————通过数组的索引值的大小定义大小
实现
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
let fir=''
let sec=''
//判断是否是炸弹
let firIsBoom=false
let secIsBoom=false
//判断大小,判断是否能比较大小,-1=Error,0=fir,1=sec
let result=-1
//定义大小
let daxiao=['3','4','5','6','7','8','9','10','J','Q','K','A','2','joker','JOKER']
while(line = await readline()){
let tokens = line.split('-');
fir=tokens[0].split(' ')
sec=tokens[1].split(' ')
if(fir.length==4 || (fir.length==2 && fir[0]=='joker')){
firIsBoom=true
}
if(sec.length==4 || (sec.length==2 && sec[0]=='joker')){
secIsBoom=true
}
}
if(secIsBoom && firIsBoom){
if(sec[0]!='joker' && fir[0]!='joker'){
if(daxiao.indexOf(fir[0])>daxiao.indexOf(sec[0])){
result=0
}else{
result=1
}
}else if(sec[0]=='joker'){
result=1
}else{
result=0
}
}else if(secIsBoom || firIsBoom){
if(secIsBoom){
result=1
}else{
result=0
}
}else if(sec.length==fir.length){
if(daxiao.indexOf(fir[fir.length-1])>daxiao.indexOf(sec[sec.length-1])){
result=0
}else if(daxiao.indexOf(fir[fir.length-1])<daxiao.indexOf(sec[sec.length-1])){
result=1
}
}
if(result==-1){
console.log('ERROR')
}else if(result==0){
console.log(fir.join(' '))
}else{
console.log(sec.join(' '))
}
}()