QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#840380#9799. Magical Palettefrankly6#TL 61ms14272kbC++171.8kb2025-01-02 17:51:552025-01-02 17:52:06

Judging History

This is the latest submission verdict.

  • [2025-01-02 17:52:06]
  • Judged
  • Verdict: TL
  • Time: 61ms
  • Memory: 14272kb
  • [2025-01-02 17:51:55]
  • Submitted

answer

#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
const int MX=1000010;

int T, N, M;
int ar[MX], br[MX];
bool vis[MX];
int read()
{
    int r=0, f=1; char ch=getchar();
    while(ch<'0'||ch>'9') {if(ch=='-') f=-1; ch=getchar();}
    while(ch>='0'&&ch<='9') {r=r*10+ch-'0'; ch=getchar();}
    return r*f;
}
int gcd(int a, int b){return b==0?a:gcd(b,a%b);}
signed main()
{
    // freopen("testdata.in","r",stdin);
    T=read();
    while(T--)
    {
        N=read(); M=read();
        int p=N*M;
        bool ck=0;
        for(int a=1;a<=N;a++)
        {
            if(gcd(a,N)!=1) continue;
            for(int b=1;b<=M;b++)
            {
                if(gcd(b,M)!=1) continue;
                if(gcd(a,b)!=1) continue;
                // cout << "a=" << a << ", b=" << b << '\n';
                for(int i=1;i<=N;i++) ar[i]=(1+(i-1)*a)%p;
                for(int i=1;i<=M;i++) br[i]=(1+(i-1)*b)%p;
                bool tag=0;
                for(int i=1;i<=N;i++)
                {
                    for(int j=1;j<=M;j++)
                    {
                        int now = (ar[i]*br[j]%p+p)%p;
                        if(vis[now]) {tag=1; break;}
                        vis[now]=1;
                    }
                    if(tag) break;
                }
                if(!tag)
                {
                    ck=1; break;
                }
                for(int i=0;i<=N*M;i++) vis[i]=0;
            }
            if(ck) break;
        }
        if(ck)
        {
            cout << "Yes\n";
            for(int i=1;i<=N;i++) cout << ar[i] << " "; cout << '\n';
            for(int i=1;i<=M;i++) cout << br[i] << " "; cout << '\n';
        }
        else cout << "No\n";
    }
    return (0-0);
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 7792kb

input:

2
2 3
2 2

output:

Yes
1 2 
1 3 5 
No

result:

ok 2 cases (2 test cases)

Test #2:

score: 0
Accepted
time: 52ms
memory: 14272kb

input:

1
1 1000000

output:

Yes
1 
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 1...

result:

ok 1 cases (1 test case)

Test #3:

score: 0
Accepted
time: 61ms
memory: 14092kb

input:

1
1000000 1

output:

Yes
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 101 ...

result:

ok 1 cases (1 test case)

Test #4:

score: -100
Time Limit Exceeded

input:

1
2 500000

output:


result: