QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#617282#9251. Graph Changingucup-team4153#WA 0ms3636kbC++203.3kb2024-10-06 14:44:472024-10-06 14:44:49

Judging History

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

  • [2024-10-06 14:44:49]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3636kb
  • [2024-10-06 14:44:47]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int solve0(int n,int k,int x,int y){
    if(abs(x-y)==1)return 1;
    else return -1;
}
int solve1(int n,int k,int x,int y){
    if(abs(x-y)>=k)return 1;
    if((abs(x-1)>=k && abs(1-y)>=k) || ((abs(x-n)>=k && abs(n-y)>=k)))return 2;
    if((abs(x-1)>=k && abs(1-n)>=k && abs(n-y)>=k) || (abs(x-n)>=k && abs(n-1)>=k && abs(1-y)>=k))return 3;
    return -1;
}
signed main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int q;cin>>q;
    while(q--){
        int t,n,k,x,y;
        cin>>t>>n>>k>>x>>y;
        if(t==0){
            cout<<solve0(n,k,x,y)<<'\n';
            continue;
        }else if(t==1){
            cout<<solve1(n,k,x,y)<<'\n';
            continue;
        }
        if(k==1){
            cout<<1<<'\n';
        }else if(k==2){
            if(n<=3){
                cout<<-1<<'\n';
            }else{
                if(t&1)cout<<solve1(n,k,x,y)<<'\n';
                else cout<<solve0(n,k,x,y)<<"\n";
            }
        }else if(k==3){
            if(n==6){
                if(t==2){
                    if(x==2){
                        if(y==4)cout<<1<<'\n';
                        else if(y==3)cout<<2<<'\n';
                        else if(y==5)cout<<3<<'\n';
                        else cout<<-1<<'\n';
                    }else if(x==4){
                        if(y==2)cout<<1<<'\n';
                        else if(y==3)cout<<1<<'\n';
                        else if(y==5)cout<<2<<'\n';
                        else cout<<-1<<'\n';
                    }else if(x==3){
                        if(y==2)cout<<2<<'\n';
                        else if(y==4)cout<<1<<'\n';
                        else if(y==5)cout<<1<<'\n';
                        else cout<<-1<<'\n';
                    }else if(x==5){
                        if(y==2)cout<<3<<'\n';
                        else if(y==4)cout<<2<<'\n';
                        else if(y==3)cout<<1<<'\n';
                        else cout<<-1<<'\n';
                    }else{
                        cout<<-1<<'\n';
                    }
                }else if(t==3){
                    if((x==2 && y==5) || (x==5 || y==2)){
                        cout<<1<<'\n';
                    }else{
                        cout<<-1<<'\n';
                    }
                }else{
                    cout<<-1<<'\n';
                }
            }else if(n>=4 && n<=7 && t==2){
                if(n==4){
                    cout<<-1<<'\n';
                }else if(n==5){
                    if((x==2 && y==4) || (x==4 || y==2)){
                        cout<<1<<'\n';
                    }else{
                        cout<<-1<<'\n';
                    }
                }else if(n==6){
                    if((x==2 && y==4) || (x==4 || y==2)){
                        cout<<1<<'\n';
                    }else{
                        cout<<-1<<'\n';
                    }
                }else if(n==7){
                    if((x==3 && y==5) || (x==5 || y==3)){
                        cout<<1<<'\n';
                    }else{
                        cout<<-1<<'\n';
                    }
                }
            }else{
                cout<<-1<<'\n';
            }
        }else{
            cout<<-1<<'\n';
        }
    }
    return 0;
}

详细

Test #1:

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

input:

5
1 5 3 2 4
1 10 4 2 4
2 10 5 2 4
1 3 2 1 3
1 3 2 1 2

output:

3
2
-1
1
-1

result:

ok 5 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3636kb

input:

30
1 2 1 1 2
1 2 2 1 2
1 2 3 1 2
1 2 4 1 2
1 2 5 1 2
1 2 6 1 2
2 2 1 1 2
2 2 2 1 2
2 2 3 1 2
2 2 4 1 2
2 2 5 1 2
2 2 6 1 2
3 2 1 1 2
3 2 2 1 2
3 2 3 1 2
3 2 4 1 2
3 2 5 1 2
3 2 6 1 2
4 2 1 1 2
4 2 2 1 2
4 2 3 1 2
4 2 4 1 2
4 2 5 1 2
4 2 6 1 2
5 2 1 1 2
5 2 2 1 2
5 2 3 1 2
5 2 4 1 2
5 2 5 1 2
5 2 6 1 2

output:

1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1

result:

ok 30 lines

Test #3:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

90
1 3 1 1 2
1 3 1 1 3
1 3 1 2 3
1 3 2 1 2
1 3 2 1 3
1 3 2 2 3
1 3 3 1 2
1 3 3 1 3
1 3 3 2 3
1 3 4 1 2
1 3 4 1 3
1 3 4 2 3
1 3 5 1 2
1 3 5 1 3
1 3 5 2 3
1 3 6 1 2
1 3 6 1 3
1 3 6 2 3
2 3 1 1 2
2 3 1 1 3
2 3 1 2 3
2 3 2 1 2
2 3 2 1 3
2 3 2 2 3
2 3 3 1 2
2 3 3 1 3
2 3 3 2 3
2 3 4 1 2
2 3 4 1 3
2 3 4 2...

output:

1
1
1
-1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1

result:

ok 90 lines

Test #4:

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

input:

180
1 4 1 1 2
1 4 1 1 3
1 4 1 1 4
1 4 1 2 3
1 4 1 2 4
1 4 1 3 4
1 4 2 1 2
1 4 2 1 3
1 4 2 1 4
1 4 2 2 3
1 4 2 2 4
1 4 2 3 4
1 4 3 1 2
1 4 3 1 3
1 4 3 1 4
1 4 3 2 3
1 4 3 2 4
1 4 3 3 4
1 4 4 1 2
1 4 4 1 3
1 4 4 1 4
1 4 4 2 3
1 4 4 2 4
1 4 4 3 4
1 4 5 1 2
1 4 5 1 3
1 4 5 1 4
1 4 5 2 3
1 4 5 2 4
1 4 5 ...

output:

1
1
1
1
1
1
2
1
1
3
1
2
-1
-1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
1
1
1
-1
-1
1
-1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
1
1
2
1
1
3
1
2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
1
...

result:

wrong answer 44th lines differ - expected: '2', found: '-1'