今晚模拟笔试,吃雪糕的,求取快递的

import java.util.Scanner; public class DoMain { public static void main(String[] args) {
        Scanner in = new Scanner(System.in); int T = in.nextInt(); int[][] array = new int[T][4]; for (int i = 0; i < T; i++) {
            array[i][0] = in.nextInt();
            array[i][1] = in.nextInt();
            array[i][2] = in.nextInt();
            array[i][3] = in.nextInt();
        }  foo(array);
    } public static void foo(int[][] arr) {
        System.out.println(arr.length); for (int i = 0; i < arr.length; i++) { while (true) { if (arr[i][0] == 0) {
                    System.out.println("Yes"); break;
                } else if (arr[i][0] == -1) {
                    System.out.println("No"); break;
                }
                arr[i] = cal(arr[i]);
            }
        }
    } public static int[] cal(int[] ar) { if (ar[3] >= 2) {
            ar[3] -= 2;
            ar[0] -= 1;
        } else if (ar[3] == 1 && ar[2] >= 1 && ar[1] >= 1) {
            ar[3] -= 1;
            ar[2] -= 1;
            ar[1] -= 1;
            ar[0] -= 1;
        } else if (ar[3] == 1 && ar[2] == 0 && ar[1] >= 3) {
            ar[3] -= 1;
            ar[1] -= 3;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] >= 3) {
            ar[2] -= 3;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] == 2 && ar[1] >= 2) {
            ar[2] -= 2;
            ar[1] -= 2;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] == 1 && ar[1] >= 4) {
            ar[2] -= 1;
            ar[1] -= 4;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] == 0 && ar[1] >= 6) {
            ar[1] -= 6;
            ar[0] -= 1;
        } else {
            ar[0] = -1;
        } return ar;
    }
}

通过率100%,求取快递,我只过了测试用列,第二版还没有写出来时间就到了

#笔试题目#
全部评论
import java.util.Scanner; public class DoMain { public static void main(String[] args) { Scanner in = new Scanner(System.in); int T = in.nextInt(); int[][] array = new int[T][4]; for (int i = 0; i < T; i++) { array[i][0] = in.nextInt(); array[i][1] = in.nextInt(); array[i][2] = in.nextInt(); array[i][3] = in.nextInt(); } foo(array); } public static void foo(int[][] arr) { System.out.println(arr.length); for (int i = 0; i < arr.length; i++) { while (true) { if (arr[i][0] == 0) { System.out.println("Yes"); break; } else if (arr[i][0] == -1) { System.out.println("No"); break; } arr[i] = cal(arr[i]); } } } public static int[] cal(int[] ar) { if (ar[3] >= 2) { ar[3] -= 2; ar[0] -= 1; } else if (ar[3] == 1 && ar[2] >= 1 && ar[1] >= 1) { ar[3] -= 1; ar[2] -= 1; ar[1] -= 1; ar[0] -= 1; } else if (ar[3] == 1 && ar[2] == 0 && ar[1] >= 3) { ar[3] -= 1; ar[1] -= 3; ar[0] -= 1; } else if (ar[3] == 0 && ar[2] >= 3) { ar[2] -= 3; ar[0] -= 1; } else if (ar[3] == 0 && ar[2] == 2 && ar[1] >= 2) { ar[2] -= 2; ar[1] -= 2; ar[0] -= 1; } else if (ar[3] == 0 && ar[2] == 1 && ar[1] >= 4) { ar[2] -= 1; ar[1] -= 4; ar[0] -= 1; } else if (ar[3] == 0 && ar[2] == 0 && ar[1] >= 6) { ar[1] -= 6; ar[0] -= 1; } else { ar[0] = -1; } return ar; } }这次格式在不对就没法了
点赞 回复 分享
发布于 2018-05-23 21:29
求问个问题,有时候题目里给了一些参数的范围,可不可以认为他测试用例大的输入就是满足范围的,比如说天数说N>0则代表用例里没有小于0参数
点赞 回复 分享
发布于 2018-05-23 21:47
吃雪糕的我还没考虑全,还有一种情况没考虑进去,不会写了
点赞 回复 分享
发布于 2019-02-20 21:30

相关推荐

牛客604067584号:我9月初投递10月入池,泡到现在。hr全部离职,当然没离职的时候也联系不上。我发邮件给campus也不回我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务