锤子剪刀布 (20)

得出A和B所有手势赢的次数,然后求平局次数后输出。最后的赢的次数最多的手势因为只有三个直接判断就行。
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int ABwin = 0, ACwin =0, AJwin =0;//A出各剪刀锤子布赢得次数
        int BBwin = 0, BCwin =0, BJwin =0;//B出各剪刀锤子布赢得次数
        int N =sc.nextInt();//双方交锋的次数
        for(int i=0; i<N; i++){
            String A = sc.next();
            String B = sc.next();
            if(A.equals("B") && B.equals("C")) ABwin++;// A出布B,B出锤子C,A赢一次
            else if (A.equals("C") && B.equals("J")) ACwin++;
			else if (A.equals("J") && B.equals("B")) AJwin++; 
			else if (B.equals("B") && A.equals("C")) BBwin++; 
			else if (B.equals("C") && A.equals("J")) BCwin++; 
			else if (B.equals("J") && A.equals("B")) BJwin++;

        }
        
        int Acount = ABwin + ACwin + AJwin; // A赢的总次数
		int Bcount = BBwin + BCwin + BJwin;// B赢的总次数
		int PJcount = N - (Acount + Bcount); // 平局的次数:总次数 -( A赢的次数 +- 和B赢的次数)
   
        System.out.println(Acount + " " + PJcount + " " + Bcount);
        System.out.println(Bcount + " " + PJcount + " " + Acount);
        System.out.println(max(ABwin, ACwin, AJwin) + " "+ max(BBwin, BCwin, BJwin));

    }
    
    /** @return:赢的次数最大手势 */
    public static char max(int B, int C, int J){
        if(B>=C && B>=J) return 'B';//B大于等于C和J
        if(C >B && C>=J) return 'C';//比B大,且大于等于J
        return 'J';
    }
}


全部评论

相关推荐

10-13 22:56
门头沟学院 C++
rt,鼠鼠的浪潮网签明天过期,鼠鼠是山东人,好像自己也能接受。之前的面试大厂基本挂干净了,剩下小米二面后在泡,问了下面试官没有挂,但要泡。还有海信似乎也通过了,不过在深圳,鼠鼠也不是很想去。其它还有一些公司应该陆陆续续还有一些面试,现在有些纠结是直接签了还是再等再面呢?大佬们能不能给鼠鼠提一些意见,万分感谢!!!
牛客78696106...:浪潮可不是开摆,当初我还是开发的时候我组长跟我说他们组有段时间天天1,2点走,早上5点就来,全组肝出来心肌炎,浪潮挣钱省立花可不是说说,当然也看部门,但是浪潮普遍就那dio样,而且你算下时薪就知道不高,没事也是9点半走,不然算你旷工
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
年纪大的小汤姆:哥们你是不是真和这人有仇😨
点赞 评论 收藏
分享
09-22 22:22
中山大学 Java
双尔:赌对了,不用经历秋招的炼狱真的太好了,羡慕了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务