萌新10分求助
查看原帖
萌新10分求助
225797
ytyuhuan楼主2020/12/25 22:44

之前看了看讨论版大佬的做法,就自己写了一个非常弱的代码,结果开了O2一交,傻眼了:就10分!

关了O2再交

还是10分

蒟蒻求助各位大佬

#include <cstdio>
using namespace std;
int a, b, c, n, t;
int main()
{
    scanf("%d", &n);
    if (n == 0 || n == 1 || n == 2 || n == 5)
    {
        printf("0 0 0\n");
        return 0;
    }
    if (n < 6 && n != 4 && n != 3)
    {
        printf("-1\n");
        return 0;
    }
    t = n / 14;
    n = n % 14;
    if (n < 6 && n != 4 && n != 3 && n != 0)
    {
        t--;
        n = n + 14;
        if (n == 0)
        {
            printf("%d %d %d\n", t, t, t);
            return 0;
        }
    }
    switch (n)
    {
    case 3:
        printf("%d %d %d\n", t, t, t + 1);
    case 4:
        printf("%d %d %d\n", t, t + 1, t);
    case 6:
        printf("%d %d %d\n", t, t, t + 2);
    case 7:
        printf("%d %d %d\n", t, t + 1, t + 1);
    case 8:
        printf("%d %d %d\n", t, t + 2, t);
    case 9:
        printf("%d %d %d\n", t, t, t + 3);
    case 10:
        printf("%d %d %d\n", t, t + 1, t + 2);
    case 11:
        printf("%d %d %d\n", t, t + 2, t + 1);
    case 12:
        printf("%d %d %d\n", t, t, t + 4);
    case 13:
        printf("%d %d %d\n", t, t + 1, t + 3);
    case 15:
        printf("%d %d %d\n", t, t, t + 5);
    case 16:
        printf("%d %d %d\n", t, t + 1, t + 4);
    case 19:
        printf("%d %d %d\n", t, t + 1, t + 5);
    }
    return 0;
}
2020/12/25 22:44
加载中...