QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#102594 | #6309. Aqre | kingsnow | WA | 2ms | 3816kb | C++14 | 2.3kb | 2023-05-03 14:55:08 | 2023-05-03 14:55:12 |
Judging History
answer
//#pragma GCC optimize(3,"Ofast","inline")
//#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define getchar nc
#define sight(c) ('0'<=c&&c<='9')
#define swap(a,b) a^=b,b^=a,a^=b
#define LL long long
#define debug(a) cout<<#a<<" is "<<a<<"\n"
#define dput(a) puts("a")
#define eho(x) for(int i=head[x];i;i=net[i])
#define fi first
#define se second
inline char nc(){
static char buf[1000000],*p1=buf,*p2=buf;
return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;
}
template <class T>
inline void read(T &x){// unsigned
static char c;
for (c=getchar();!sight(c);c=getchar());
for (x=0;sight(c);c=getchar())x=x*10+c-48;
}
template <class T> void write(T x){if (x<10) {putchar('0'+x); return;} write(x/10); putchar('0'+x%10);}
template <class T> inline void writeln(T x){ if (x<0) putchar('-'),x*=-1; write(x); putchar('\n'); }
template <class T> inline void writel(T x){ if (x<0) putchar('-'),x*=-1; write(x); putchar(' '); }
using namespace std;
int n,m,T;
int c[3][4]={{1,1,1,0},{1,0,1,1},{1,1,1,0}};
int e[4][4]={{1,1,1,0},{1,0,1,1},{1,1,0,1},{0,1,1,1}};
int f[4][4]={{1,1,0,1},{1,1,1,0},{1,0,1,1},{0,1,1,1}};
int ans[1007][1007];
signed main() {
#ifdef LOCAL
// freopen("test.in", "r", stdin);
// freopen("test.out", "w", stdout);
#endif
scanf("%d",&T);
while (T--) {
scanf("%d%d",&n,&m);
if (n<4&&m<4) {
printf("%d\n",n*m);
for (int i=0;i<n;i++,puts(""))
for (int j=0;j<m;j++)
printf("%d",1);
} else if (n==3&&m%4==3) {
printf("%d\n",9*(m+1)/4-1);
for (int i=0;i<3;i++,puts(""))
for (int j=0;j<m;j++)
printf("%d",c[i][j%4]);
} else if (n%3==0&&m==3) {
printf("%d\n",9*(n+1)/4-1);
for (int i=0;i<n;i++,puts(""))
for (int j=0;j<3;j++)
printf("%d",c[j][i%4]);
} else {
int anw=0;
// printf("%d\n",n*m-n*m/4-(n*m%4==0?0:1));
int flag=((n%4<=2)&&(m%4<=2));
if (!flag)
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
ans[i][j]=e[i%4][j%4],anw+=ans[i][j];
else
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
ans[i][j]=f[i%4][j%4],anw+=ans[i][j];
printf("%d\n",anw);
for (int i=0;i<n;i++,puts(""))
for (int j=0;j<m;j++)
printf("%d",ans[i][j]);
}
}
return 0;
}
// CFIJM
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3484kb
input:
3 2 2 3 4 3 8
output:
4 11 11 9 1110 1011 1101 18 11101110 10111011 11011101
result:
ok ok (3 test cases)
Test #2:
score: -100
Wrong Answer
time: 2ms
memory: 3816kb
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 6 111 111 6 1101 1110 8 11011 11101 10 110111 111011 11 1110111 1011101 12 11011101 11101110 14 110111011 111011101 16 1101110111 1110111011 17 11101110111 10111011101 18 110111011101 111011101110 20 1101110111011 1110111011101 22 11011101110111 11101110111011 23 111011101110111 101110111011...
result:
wrong answer 1s are not connected. (test case 3)