QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#821369#9799. Magical Paletteucup-team3548#WA 46ms5916kbC++201.8kb2024-12-19 15:30:512024-12-19 15:30:51

Judging History

This is the latest submission verdict.

  • [2024-12-19 15:30:51]
  • Judged
  • Verdict: WA
  • Time: 46ms
  • Memory: 5916kb
  • [2024-12-19 15:30:51]
  • Submitted

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
int N,M;
int T;
bool Vis[1000001];
int Prime[1000001],Tot;
int A[1000001],B[1000001];
bool Check[1000001];
void Init()
{
    for(int i=2;i<=1e6;++i)
    {
        if(!Vis[i])
        {
            Prime[++Tot]=i;
        }
        for(int j=1;j<=Tot&&Prime[j]*i<=1e6;++j)
        {
            int To=Prime[j]*i;
            Vis[To]=true;
            if(i%Prime[j]==0)break;
        }
    }
}
signed main()
{
    // Init();
    scanf("%d",&T);
    while(T--)
    {
        for(int i=1;i<=N*M;++i)
        Check[i-1]=0;
        scanf("%d%d",&N,&M);
        if(__gcd(N,M)>1)
        {
            puts("No");
            continue;
        }
        puts("Yes");
        if(N==1||M==1)
        {
            if(N==1&&M==1)
            {
                puts("0");
                puts("0");
            }
            else if(N==1)
            {
                puts("1");
                for(int i=1;i<=M;++i)
                printf("%d ",i-1);
                putchar('\n');
            }
            else
            {
                for(int i=1;i<=M;++i)
                printf("%d ",i-1);
                putchar('\n');
                puts("1");
            }
            continue;
        }
        for(int i=1;i<=N;++i)
        printf("%lld ",A[i]=1+(i-1)*M);
        putchar('\n');
        for(int i=1;i<=M;++i)
        printf("%lld ",B[i]=1+(i-1)*N);
        putchar('\n');
        for(int i=1;i<=N;++i)
        {
            for(int j=1;j<=M;++j)
            {
                if(Check[(A[i]*B[j])%(N*M)])
                {
                    printf("Fail %d,%d\n",N,M);
                    assert(0);
                }
                Check[(A[i]*B[j])%(N*M)]=true;
            }
        }
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 5916kb

input:

2
2 3
2 2

output:

Yes
1 4 
1 3 5 
No

result:

ok 2 cases (2 test cases)

Test #2:

score: 0
Accepted
time: 46ms
memory: 3880kb

input:

1
1 1000000

output:

Yes
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ...

result:

ok 1 cases (1 test case)

Test #3:

score: -100
Wrong Answer
time: 0ms
memory: 3756kb

input:

1
1000000 1

output:

Yes
0 
1

result:

wrong output format Unexpected end of file - int32 expected (test case 1)