寒光博客

[PAT] 1018 锤子剪刀布 (20 分)
PAT (Basic Level) Practice (中文) 1018 锤子剪刀布 (20 分) https:/...
扫描右侧二维码阅读全文
11
2019/09

[PAT] 1018 锤子剪刀布 (20 分)

PAT (Basic Level) Practice (中文) 1018 锤子剪刀布 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805304020025344

wa18分

最后一个点超时

package PAT.BasicLevel;

import java.util.Scanner;

public class _1018_锤子剪刀布 {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int n = cin.nextInt();
        int[] A = new int[3];//胜 平 败 //甲

        int[] winA = new int[3];//b c j//甲
        int[] winB = new int[3];//b c j//乙
        char[] sign={'B','C','J'};
        while (n-- > 0) {
            char a = cin.next().charAt(0);

            char b = cin.next().charAt(0);
            switch (a) {
                case 'B'://布
                    if (b == a) {//平局
                        A[1]++;
                    } else if (b == 'J') {A[2]++;winB[2]++;}//输了
                    else {
                        A[0]++;
                        winA[0]++;
                    }//赢了
                    break;
                case 'J':
                    if (b == a) {//平局
                        A[1]++;
                    } else if (b == 'C') {A[2]++;winB[1]++;}//输了
                    else {
                        A[0]++;
                        winA[2]++;
                    }//赢了
                    break;
                case 'C':
                    if (b == a) {//平局
                        A[1]++;
                    } else if (b == 'B') {A[2]++;winB[0]++;}//输了
                    else {
                        A[0]++;
                        winA[1]++;
                    }//赢了
                    break;
            }
        }
        int max=winA[0],tA=0,tB=0;
        for (int i = 1; i <winA.length ; i++) {
            if(winA[i]>max){
                max=winA[i];
                tA=i;
            }
        }
        max=winB[0];
        for (int i = 1; i <winB.length ; i++) {
            if(winB[i]>max){
                max=winB[i];
                tB=i;
            }
        }
        System.out.println(A[0] + " " + A[1] + " " + A[2]);
        System.out.println(A[2] + " " + A[1] + " " + A[0]);
        System.out.println(sign[tA]+" "+sign[tB]);
    }
}
本文作者:Author:     文章标题:[PAT] 1018 锤子剪刀布 (20 分)
本文地址:https://dxoca.cn/pat/274.html       百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
Last modification:September 11th, 2019 at 10:34 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment

2 comments

  1. GLM

    博主可以试下转c++噢,用Java做算法题较c++有着不小的劣势,很有可能你的算法时间复杂度是完全可以过的,但是java...会跑的比较慢... 看了下博主的文章,感觉博主好厉害,自己搭建了个人网站,能加个好友吗一起学习QAQ

    1. Dxoca
      @GLM

      好 最近我也在看 C++ 可以~! 987284242 不过我也是萌新啦