QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#191177#6309. Aqreucup-team870#WA 2ms3596kbC++171.2kb2023-09-29 19:58:182023-09-29 19:58:18

Judging History

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

  • [2023-09-29 19:58:18]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3596kb
  • [2023-09-29 19:58:18]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define IOS {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);}
#define rep(i,j,k) for(int i=j;i<=k;++i)
#define per(i,j,k) for(int i=j;i>=k;--i)
#define P pair<int,int>
#define ll long long
#define vi vector<int>
vi f[100]; int cnt;
void slv(){
    int n,m;cin>>n>>m;
    int mi=1e9,ans;
    rep(i,1,cnt){
        int num=0;
        rep(x,1,n){
            rep(y,1,m){
                if(f[i][(x-1)%4]%4==y%4)++num;
            }
        }
        if(num<mi){
            mi=num; ans=i;
        }
    }
    cout<<n*m-mi<<'\n';
    rep(x,1,n){
        rep(y,1,m){
            int v=f[ans][(x-1)%4]%4==y%4; cout<<1-v;
        }
        cout<<'\n';
    }
}
void ck(vi q){
    map<int,int>mp;
    for(auto i:q)mp[i]=1;
    if(mp.size()<4)return;
    mp.clear();
    rep(i,0,3)mp[(i+q[i])%4]=1;
    if(mp.size()==1)return;
    mp.clear();
    rep(i,0,3)mp[(i-q[i]+4)%4]=1;
    if(mp.size()==1)return;
    f[++cnt]=q; 
}
signed main(){
    IOS
    int T;cin>>T;
    rep(i1,1,4){
        rep(i2,1,4){
            rep(i3,1,4){
                rep(i4,1,4){
                    ck(vector<int>({i1,i2,i3,i4}));
                }
            }
        }
    }
    while(T--)slv();
}

详细

Test #1:

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

input:

3
2 2
3 4
3 8

output:

4
11
11
9
0111
1011
1110
18
01110111
10111011
11101110

result:

ok ok (3 test cases)

Test #2:

score: -100
Wrong Answer
time: 2ms
memory: 3528kb

input:

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

output:

4
11
11
5
011
111
6
0111
1011
8
10111
11011
10
110111
111011
11
0111011
1110111
12
01110111
10111011
14
101110111
110111011
16
1101110111
1110111011
17
01110111011
11101110111
18
011101110111
101110111011
20
1011101110111
1101110111011
22
11011101110111
11101110111011
23
011101110111011
111011101110...

result:

wrong answer ans finds a larger answer (test case 2)