1018

锤子剪刀布

浙江大学PAT (Basic Level) Practice (中文)1018锤子剪刀布JAVA实现代码及分析

浙江大学PAT (Basic Level) Practice (中文)1018锤子剪刀布JAVA实现代码及分析
这道题我觉着只能一次一次判断和记录甲方和乙方出手的状态和胜负,最后按照题目要求的格式进行记录数据的输出。但是用JAVA写成我这个样子的话有一个测试点超时过不去
浙江大学PAT (Basic Level) Practice (中文)1018锤子剪刀布JAVA实现代码及分析,这道题我也没用C++按照同样的逻辑再写一次,但是我觉着我这个逻辑上没什么问题,有大佬有更好的解法的话欢迎在评论区指点小生一下。

具体实现代码如下:

import java.util.Scanner;

public class Main{
    public static void main(String[] args) 
    {
    	Scanner input=new Scanner(System.in);
    	int N;
    	int JC=0,JJ=0,JB=0;
    	int YC=0,YJ=0,YB=0;
    	int P=0,S=0;
    	N=input.nextInt();
    	String SS[][]=new String[N][2];
    	for(int i=0;i<N;i++)
    	{
    		for(int j=0;j<2;j++)
    		{
    			SS[i][j]=input.next();
    		}
    		if(SS[i][0].equals(SS[i][1]))
    		{
    			P++;
    			continue;
    		}
    		else if(SS[i][0].equals("C")&&SS[i][1].equals("J"))
    		{
    			JC++;
    		}
    		else if(SS[i][0].equals("J")&&SS[i][1].equals("B"))
    		{
    			JJ++;
    		}
    		else if(SS[i][0].equals("B")&&SS[i][1].equals("C"))
    		{
    			JB++;
    		}
    		else if(SS[i][1].equals("C")&&SS[i][0].equals("J"))
    		{
    			YC++;
    		}
    		else if(SS[i][1].equals("J")&&SS[i][0].equals("B"))
    		{
    			YJ++;
    		}
    		else if(SS[i][1].equals("B")&&SS[i][0].equals("C"))
    		{
    			YB++;
    		}
    	}
    	S=JC+JJ+JB;
    	System.out.println(S+" "+P+" "+(N-S-P));
    	System.out.println((N-S-P)+" "+P+" "+S);
    	if(max(JJ,JB,JC)=='J')
    	{
    		System.out.print("J"+" ");
    	}
    	else if(max(JJ,JB,JC)=='B')
    	{
    		System.out.print("B"+" ");
    	}
    	else if(max(JJ,JB,JC)=='C')
    	{
    		System.out.print("C"+" ");
    	}
    	if(max(YJ,YB,YC)=='J')
    	{
    		System.out.print("J");
    	}
    	else if(max(YJ,YB,YC)=='B')
    	{
    		System.out.print("B");
    	}
    	else if(max(YJ,YB,YC)=='C')
    	{
    		System.out.print("C");
    	}
    }
    public static char max(int J,int B,int C)
    {
    	if(J>B&&J>C)
    	{
    		return 'J';
    	}
    	else if(B>=J&&B>=C)
    	{
    		return 'B';
    	}
    	else if(C>=J&&C>B)
    	{
    		return 'C';
    	}
    	return 'a';
    }
}

相关文章: