题目以及要求:
题目描述
著名ACM选手豪哥退役后迷上了打扑克。对对碰是一种十分有趣的双人游戏,游戏开始时分别发给玩家数量相等的牌,玩家均不能看到自己和对方的牌(即盲打),接着两人开始轮流出一张牌,如果出的那张牌和桌面上最上面的牌相同, 裁判则收回这一对牌,并给出牌的这方记一分。当双方牌全部出完后,得分多者获胜。
现在甲乙两方正在玩这个游戏,请你帮忙判断谁获胜了。
输入格式
第一行输入一个整数,代表甲乙各有的牌数。
第二行按照顺序输入了甲乙的所有出牌情况(每次出牌均为的一种),中间用空格分割,甲是先出牌的一方。
输出格式
如果甲获胜了,则输出 JIA,乙获胜则输出 YI ,平局的话输出 PING
样例
代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class 豪哥打牌 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num=sc.nextInt();
int jia=0;
int yi=0;
int p=0;//p为最后一个元素的下标位置
List<Integer> list = new ArrayList<Integer>();
list.add(sc.nextInt());
for (int i = 1; i < 2*num; i++) {
int a=sc.nextInt();
//如果p>=0并且相邻的数相等
if(p>=0&&a==list.get(p)){
if (i%2!=0) {//以输入的个数判断是乙还是甲
yi++;//乙加一分
}else {
jia++;//甲加一分
}
//相同,remove掉最后一个元素
list.remove(p);
//下标-1
p--;
}else {
list.add(a);
p++;
}
}
if (yi>jia) {
System.out.println("YI");
}else if (jia>yi) {
System.out.println("JIA");
}else {
System.out.println("PING");
}
}
}