QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#426494#6320. Parallel Processing (Hard)by_chanceWA 1ms3972kbC++172.1kb2024-05-31 12:59:572024-05-31 12:59:59

Judging History

你现在查看的是最新测评结果

  • [2024-05-31 12:59:59]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3972kb
  • [2024-05-31 12:59:57]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=2000;
int sid,n,k;
tuple<int,int,int> ans[N];
void solve(int n){
    if(n>=17){
        solve(n-10);
        auto add=[&](int a,int b,int c){
            ans[++k]={n+a-11,n+b-11,n+c-11};
        };
        add(2,1,2);add(4,3,4);add(6,5,6);add(8,7,8);
        add(10,9,10);add(3,2,3);add(4,2,4);add(8,6,8);
        add(5,4,5);add(6,4,6);add(8,4,8);add(11,10,11);
        add(7,6,7);add(9,8,9);add(10,8,10);add(11,8,11);
        return;
    }
    auto add=[&](int a,int b,int c){
        if(a>n||b>n||c>n)ans[++k]={N,N,N};
        else ans[++k]={a,b,c};
    };
    if(n==1);
    else if(n==2){add(2,1,2);add(N,N,N);add(N,N,N);add(N,N,N);}
    else if(n<=4){
        add(2,1,2);add(4,3,4);add(N,N,N);add(N,N,N);
        add(3,2,3);add(4,2,4);add(N,N,N);add(N,N,N);
    }
    else if(n<=8){
        add(2,1,2);add(4,3,4);add(6,5,6);add(8,7,8);
        add(3,2,3);add(4,2,4);add(7,6,7);add(8,6,8);
        add(5,4,5);add(6,4,6);add(7,4,7);add(8,4,8);
    }
    else if(n<=11){
        add(2,1,2);add(4,3,4);add(6,5,6);add(8,7,8);
        add(10,9,10);add(3,2,3);add(4,2,4);add(8,6,8);
        add(5,4,5);add(6,4,6);add(8,4,8);add(11,10,11);
        add(7,6,7);add(9,8,9);add(10,8,10);add(11,8,11);
    }
    else if(n<=13){
        add(2,1,2);add(4,3,4);add(6,5,6);add(8,7,8);
        add(4,2,4);add(8,6,8);add(10,9,10);add(12,11,12);
        add(3,2,3);add(6,4,6);add(8,4,8);add(13,12,13);
        add(5,4,5);add(7,6,7);add(9,8,9);add(10,8,10);
        add(11,10,11);add(12,10,12);add(13,10,13);add(N,N,N);
    }
    else if(n<=16){
        add(2,1,2);add(4,3,4);add(6,5,6);add(8,7,8);
        add(4,2,4);add(8,6,8);add(10,9,10);add(12,11,12);
        add(6,4,6);add(8,4,8);add(14,13,14);add(16,15,16);
        add(3,2,3);add(5,4,5);add(10,8,10);add(14,12,14);
        add(7,6,7);add(9,8,9);add(12,10,12);add(14,10,14);
        add(11,10,11);add(13,12,13);add(15,14,15);add(16,14,16);
    }
}
int main(){
    scanf("%d%d",&sid,&n);solve(n);
    printf("%d\n",k/4);
    for(int i=1;i<=k;i++)
        printf("%d %d %d\n",get<0>(ans[i]),get<1>(ans[i]),get<2>(ans[i]));
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3972kb

input:

17

output:

2
2000 2000 2000
2000 2000 2000
2000 2000 2000
2000 2000 2000
2000 2000 2000
2000 2000 2000
2000 2000 2000
2000 2000 2000

result:

wrong answer A[2] is not (1, …, 2)