QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#620951 | #5438. Half Mixed | MENDAX | TL | 282ms | 9708kb | C++14 | 2.1kb | 2024-10-07 22:40:20 | 2024-10-07 22:40:20 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=1e6+10,mod=998244353;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
typedef pair<int,int> PII;
int path[N];
vector<int> num;
int ge(int it){
return it*(it+1)/2;
}
bool dfs(int u,int n1,int n2,int op,int it){
int sheng=u*(u+1)/4-n2;
if((u-n1)>sheng) return false;
if((u-n1)*ge(it)<sheng) return false;
if(n2==u*(u+1)/4&&n1==u){
return true;
}
if(it<=0)return false;
int zz=it;
if(it>10){
it=upper_bound(num.begin(),num.end(),sheng)-num.begin();
it--;
it=min(it,zz);
}
if(it==0) return false;
int no=min((u-n1)/it,sheng/ge(it));
if((u-n1)==sheng){
it=1;
no=sheng;
}
if(it==2){
int p1=u-n1,p2=u*(u+1)/4-n2;
int x=2*p1-p2;
int no=p1-x;
}
for(int j=no;j>=0;j--){
if(dfs(u,n1+j*it,n2+ge(it)*j,(op+j)%2,it-1)){
int nums=0;
for(int p=n1+1;p<=n1+it*j;p++){
path[p]=op;
nums++;
if(nums%it==0) op=1-op;
}
return true;
}
if(it==1) return false;
}
return false;
}
void slove(){
int n,m;cin>>n>>m;
vector<vector<int>>g(n+4,vector<int>(m+5,0));
if(n<m){
if(n%4==0|n%4==3){
dfs(n,0,0,0,n);
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++) g[j][i]=path[j];
}
}
else if(m%4==3||m%4==0){
dfs(m,0,0,0,m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) g[i][j]=path[j];
}
}
else {
cout<<"No"<<endl;
return ;
}
}
else{
if(m%4==3||m%4==0){
dfs(m,0,0,0,m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) g[i][j]=path[j];
}
}
else if(n%4==0|n%4==3){
dfs(n,0,0,0,n);
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++) g[j][i]=path[j];
}
}
else {
cout<<"No"<<endl;
return ;
}
}
cout<<"Yes"<<endl;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<g[i][j]<<" ";
}
cout<<endl;
}
}
signed main(){
ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
for(int i=0;i<=1e4;i++) num.push_back(i*(i+1)/2);
int T=1;
cin>>T;
while(T--) slove();
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3920kb
input:
2 2 3 1 1
output:
Yes 0 1 0 0 1 0 No
result:
ok OK, Accepted. (2 test cases)
Test #2:
score: 0
Accepted
time: 150ms
memory: 3860kb
input:
5382 1 1 1 2 2 1 1 3 2 2 3 1 1 4 2 3 3 2 4 1 1 5 2 4 3 3 4 2 5 1 1 6 2 5 3 4 4 3 5 2 6 1 1 7 2 6 3 5 4 4 5 3 6 2 7 1 1 8 2 7 3 6 4 5 5 4 6 3 7 2 8 1 1 9 2 8 3 7 4 6 5 5 6 4 7 3 8 2 9 1 1 10 2 9 3 8 4 7 5 6 6 5 7 4 8 3 9 2 10 1 1 11 2 10 3 9 4 8 5 7 6 6 7 5 8 4 9 3 10 2 11 1 1 12 2 11 3 10 4 9 5 8 6 ...
output:
No No No Yes 0 1 0 No Yes 0 1 0 Yes 0 0 1 0 Yes 0 1 0 0 1 0 Yes 0 0 1 1 0 0 Yes 0 0 1 0 No Yes 0 0 1 0 0 0 1 0 Yes 0 1 0 0 1 0 0 1 0 Yes 0 0 0 0 1 1 0 0 No No No Yes 0 0 0 0 1 1 1 1 0 0 0 0 Yes 0 1 0 0 1 0 0 1 0 0 1 0 No No Yes 0 0 0 0 1 1 0 No Yes 0 0 0 0 0 1 1 1 1 1...
result:
ok OK, Accepted. (5382 test cases)
Test #3:
score: 0
Accepted
time: 141ms
memory: 3664kb
input:
1177 50 50 50 51 51 50 50 52 51 51 52 50 50 53 51 52 52 51 53 50 50 54 51 53 52 52 53 51 54 50 50 55 51 54 52 53 53 52 54 51 55 50 50 56 51 55 52 54 53 53 54 52 55 51 56 50 50 57 51 56 52 55 53 54 54 53 55 52 56 51 57 50 50 58 51 57 52 56 53 55 54 54 55 53 56 52 57 51 58 50 50 59 51 58 52 57 53 56 5...
output:
No Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1...
result:
ok OK, Accepted. (1177 test cases)
Test #4:
score: 0
Accepted
time: 135ms
memory: 3768kb
input:
420 100 100 100 101 101 100 100 102 101 101 102 100 100 103 101 102 102 101 103 100 100 104 101 103 102 102 103 101 104 100 100 105 101 104 102 103 103 102 104 101 105 100 100 106 101 105 102 104 103 103 104 102 105 101 106 100 100 107 101 106 102 105 103 104 104 103 105 102 106 101 107 100 100 108 ...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
result:
ok OK, Accepted. (420 test cases)
Test #5:
score: 0
Accepted
time: 153ms
memory: 9708kb
input:
6 900 900 900 901 901 900 900 902 901 901 902 900
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok OK, Accepted. (6 test cases)
Test #6:
score: 0
Accepted
time: 244ms
memory: 3800kb
input:
3152 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 61 1 62 1 63 1 64 1 65 1 66 1 67 1 68 1 ...
output:
No Yes 0 0 0 0 0 0 0 1 1 0 1 Yes 0 0 0 0 0 0 0 1 1 1 1 0 No No Yes 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 Yes 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 No No Yes 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ...
result:
ok OK, Accepted. (3152 test cases)
Test #7:
score: 0
Accepted
time: 109ms
memory: 4260kb
input:
3152 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 61 1 62 1 63 1 64 1 65 1 66 1 67 1 68 ...
output:
No Yes 0 0 0 0 0 0 0 1 1 0 1 Yes 0 0 0 0 0 0 0 1 1 1 1 0 No No Yes 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 Yes 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 No No Yes 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 No No Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 Yes 0 0 0 0 ...
result:
ok OK, Accepted. (3152 test cases)
Test #8:
score: 0
Accepted
time: 250ms
memory: 4100kb
input:
3064 100 1 101 1 102 1 103 1 104 1 105 1 106 1 107 1 108 1 109 1 110 1 111 1 112 1 113 1 114 1 115 1 116 1 117 1 118 1 119 1 120 1 121 1 122 1 123 1 124 1 125 1 126 1 127 1 128 1 129 1 130 1 131 1 132 1 133 1 134 1 135 1 136 1 137 1 138 1 139 1 140 1 141 1 142 1 143 1 144 1 145 1 146 1 147 1 148 1 1...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
result:
ok OK, Accepted. (3064 test cases)
Test #9:
score: 0
Accepted
time: 109ms
memory: 3864kb
input:
3064 1 100 1 101 1 102 1 103 1 104 1 105 1 106 1 107 1 108 1 109 1 110 1 111 1 112 1 113 1 114 1 115 1 116 1 117 1 118 1 119 1 120 1 121 1 122 1 123 1 124 1 125 1 126 1 127 1 128 1 129 1 130 1 131 1 132 1 133 1 134 1 135 1 136 1 137 1 138 1 139 1 140 1 141 1 142 1 143 1 144 1 145 1 146 1 147 1 148 1...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 No No Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
result:
ok OK, Accepted. (3064 test cases)
Test #10:
score: 0
Accepted
time: 256ms
memory: 3848kb
input:
2316 1000 1 1001 1 1002 1 1003 1 1004 1 1005 1 1006 1 1007 1 1008 1 1009 1 1010 1 1011 1 1012 1 1013 1 1014 1 1015 1 1016 1 1017 1 1018 1 1019 1 1020 1 1021 1 1022 1 1023 1 1024 1 1025 1 1026 1 1027 1 1028 1 1029 1 1030 1 1031 1 1032 1 1033 1 1034 1 1035 1 1036 1 1037 1 1038 1 1039 1 1040 1 1041 1 1...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok OK, Accepted. (2316 test cases)
Test #11:
score: 0
Accepted
time: 109ms
memory: 3732kb
input:
2316 1 1000 1 1001 1 1002 1 1003 1 1004 1 1005 1 1006 1 1007 1 1008 1 1009 1 1010 1 1011 1 1012 1 1013 1 1014 1 1015 1 1016 1 1017 1 1018 1 1019 1 1020 1 1021 1 1022 1 1023 1 1024 1 1025 1 1026 1 1027 1 1028 1 1029 1 1030 1 1031 1 1032 1 1033 1 1034 1 1035 1 1036 1 1037 1 1038 1 1039 1 1040 1 1041 1...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok OK, Accepted. (2316 test cases)
Test #12:
score: 0
Accepted
time: 282ms
memory: 4412kb
input:
488 10000 1 10001 1 10002 1 10003 1 10004 1 10005 1 10006 1 10007 1 10008 1 10009 1 10010 1 10011 1 10012 1 10013 1 10014 1 10015 1 10016 1 10017 1 10018 1 10019 1 10020 1 10021 1 10022 1 10023 1 10024 1 10025 1 10026 1 10027 1 10028 1 10029 1 10030 1 10031 1 10032 1 10033 1 10034 1 10035 1 10036 1 ...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok OK, Accepted. (488 test cases)
Test #13:
score: 0
Accepted
time: 108ms
memory: 4000kb
input:
488 1 10000 1 10001 1 10002 1 10003 1 10004 1 10005 1 10006 1 10007 1 10008 1 10009 1 10010 1 10011 1 10012 1 10013 1 10014 1 10015 1 10016 1 10017 1 10018 1 10019 1 10020 1 10021 1 10022 1 10023 1 10024 1 10025 1 10026 1 10027 1 10028 1 10029 1 10030 1 10031 1 10032 1 10033 1 10034 1 10035 1 10036 ...
output:
Yes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok OK, Accepted. (488 test cases)
Test #14:
score: -100
Time Limit Exceeded
input:
49 100000 1 100001 1 100002 1 100003 1 100004 1 100005 1 100006 1 100007 1 100008 1 100009 1 100010 1 100011 1 100012 1 100013 1 100014 1 100015 1 100016 1 100017 1 100018 1 100019 1 100020 1 100021 1 100022 1 100023 1 100024 1 100025 1 100026 1 100027 1 100028 1 100029 1 100030 1 100031 1 100032 1 ...