QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#776219 | #5438. Half Mixed | Traveler# | RE | 0ms | 14900kb | C++20 | 2.0kb | 2024-11-23 17:56:23 | 2024-11-23 17:56:24 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define MAXN 1000000
using namespace std;
int T;
int N,M;
int ans[MAXN+5],tp=0;
int st[MAXN+5],newp;
int B[MAXN+5];
int flag;
void DFS(int n,int num){
if(flag)return;
if(num==0 && n==0){
newp=0;
for(int i=1;i<=tp;i++){
st[++newp]=ans[i];
}
flag=1;
return;
}
if(n*2>num)return;
if(n*2==num){
for(int i=1;i*2<=num;i++){
ans[++tp]=1;
}
DFS(0,0);
}
int k=upper_bound(B+1,B+1+MAXN,num)-B;
for(int i=k-1;i>=1;i--){
if(n*(i+1)<num)break;
ans[++tp]=i;
DFS(n-i,num-(i*(i+1)));
tp--;
}
}
signed main()
{
for(int i=1;i<=MAXN;i++){
B[i]=i*(i+1);
}
cin>>T;
while(T--){
cin>>N>>M;
int c=0;
if(M%4==0 || (M+1)%4==0){
swap(N,M);
c=1;
}
if(N%4!=0 &&(N+1)%4!=0){
cout<<"No\n";
continue;
}
else{
cout<<"Yes\n";
}
vector<vector<int> > a(N+1,vector<int>(M+1));
tp=0;
flag=0;
DFS(N,N*(N+1)/2);
/*for(int i=1;i<=newp;i++){
cout<<st[i]<<" ";
}
cout<<'\n';*/
int op=0,k=1,tmp=1;
while(tmp<=N){
for(int i=1;i<=st[k];i++){
for(int j=1;j<=M;j++){
a[tmp+i-1][j]=op;
}
}
k++;
tmp+=st[k];
op^=1;
}
if(!c){
for(int i=1;i<=N;i++){
for(int j=1;j<=M;j++){
cout<<a[i][j]<<" ";
}
cout<<'\n';
}
}
else{
for(int j=1;j<=M;j++){
for(int i=1;i<=N;i++){
cout<<a[i][j]<<" ";
}
cout<<'\n';
}
}
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 14900kb
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: -100
Runtime Error
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 1 0 0 Yes 0 1 0 0 1 0 Yes 0 0 1 1 0 0 Yes 0 1 0 0 No Yes 0 1 0 0 0 1 0 0 Yes 0 1 0 0 1 0 0 1 0 Yes 0 0 1 1 0 0 0 0 No No No Yes 0 1 0 0 0 1 0 0 0 1 0 0 Yes 0 1 0 0 1 0 0 1 0 0 1 0 No No Yes 0 0 1 0 0 0 0 No Yes 0 0 0 0 0 1 1 1 1 1...