QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#539034#7178. BishopsSunburstFanWA 17ms5268kbC++141.3kb2024-08-31 13:50:282024-08-31 13:50:33

Judging History

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

  • [2024-08-31 13:50:33]
  • 评测
  • 测评结果:WA
  • 用时:17ms
  • 内存:5268kb
  • [2024-08-31 13:50:28]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

const int N=2e5+5;

int cnt;
pair<int,int> ans[N];
bool flag=0;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);

    int n,m;cin>>n>>m;

    if(n==m){
        cout<<n+n-2<<"\n";

        for(int i=1;i<=n;i++)
            cout<<"1 "<<i<<"\n";
        for(int i=2;i<n;i++)
            cout<<n<<" "<<i<<"\n";
        
        return 0;
    }

    if(n>m){
        swap(n,m);
        flag=1;
    }
    
    if(n==1){
        cout<<m<<"\n";
        for(int i=1;i<=m;i++)
            cout<<"1 "<<m<<"\n";
        return 0;
    }

    else if(m==1){
        cout<<n<<"\n";
        for(int i=1;i<=n;i++)
            cout<<i<<" 1"<<"\n";
        return 0;
    }

    for(int i=1;i<=n;i++){
        ans[++cnt]=make_pair(i,1);
        ans[++cnt]=make_pair(i,m);
    }

    if(n%2){
        for(int i=n/2+2;i<=m-n/2-1;i++)
            ans[++cnt]=make_pair(n/2+1,i);
    }
    else{
        for(int i=n/2+2;i<=m-n/2-1;i++){
            ans[++cnt]=make_pair(n/2,i);
            ans[++cnt]=make_pair(n/2+1,i);
            i++;
        }
    }

    cout<<cnt<<"\n";
    for(int i=1;i<=cnt;i++)
        if(!flag)cout<<ans[i].first<<" "<<ans[i].second<<"\n";
        else cout<<ans[i].second<<" "<<ans[i].first<<"\n";



    return 0;
}

詳細信息

Test #1:

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

input:

2 5

output:

6
1 1
1 5
2 1
2 5
1 3
2 3

result:

ok n: 2, m: 5, bishops: 6

Test #2:

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

input:

5 5

output:

8
1 1
1 2
1 3
1 4
1 5
5 2
5 3
5 4

result:

ok n: 5, m: 5, bishops: 8

Test #3:

score: 0
Accepted
time: 17ms
memory: 3712kb

input:

100000 100000

output:

199998
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 ...

result:

ok n: 100000, m: 100000, bishops: 199998

Test #4:

score: 0
Accepted
time: 15ms
memory: 5268kb

input:

100000 99999

output:

199998
1 1
100000 1
1 2
100000 2
1 3
100000 3
1 4
100000 4
1 5
100000 5
1 6
100000 6
1 7
100000 7
1 8
100000 8
1 9
100000 9
1 10
100000 10
1 11
100000 11
1 12
100000 12
1 13
100000 13
1 14
100000 14
1 15
100000 15
1 16
100000 16
1 17
100000 17
1 18
100000 18
1 19
100000 19
1 20
100000 20
1 21
100000...

result:

ok n: 100000, m: 99999, bishops: 199998

Test #5:

score: 0
Accepted
time: 15ms
memory: 4816kb

input:

100000 50000

output:

149998
1 1
100000 1
1 2
100000 2
1 3
100000 3
1 4
100000 4
1 5
100000 5
1 6
100000 6
1 7
100000 7
1 8
100000 8
1 9
100000 9
1 10
100000 10
1 11
100000 11
1 12
100000 12
1 13
100000 13
1 14
100000 14
1 15
100000 15
1 16
100000 16
1 17
100000 17
1 18
100000 18
1 19
100000 19
1 20
100000 20
1 21
100000...

result:

ok n: 100000, m: 50000, bishops: 149998

Test #6:

score: -100
Wrong Answer
time: 7ms
memory: 3636kb

input:

1 100000

output:

100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100000
1 100...

result:

wrong answer Sum diagonals are not distinct