QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#102550#6309. AqrekingsnowWA 5ms3516kbC++142.0kb2023-05-03 14:34:122023-05-03 14:34:35

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-03 14:34:35]
  • 评测
  • 测评结果:WA
  • 用时:5ms
  • 内存:3516kb
  • [2023-05-03 14:34:12]
  • 提交

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}};
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 {
			printf("%d\n",n*m-n*m/4-(n*m%4==0?0:1));
			int flag=((n%4==1)&&(m%4==1));
			for (int i=0;i<n;i++,puts(""))
				for (int j=0;j<m;j++)
				 printf("%d",((i==n-1&&j==m-1&&flag)?0:e[i%4][j%4]));
		}
	} 
    return 0;
}
// CFIJM

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 3516kb

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: 5ms
memory: 3508kb

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
1110
1011
7
11101
10111
9
111011
101110
10
1110111
1011101
12
11101110
10111011
13
111011101
101110111
15
1110111011
1011101110
16
11101110111
10111011101
18
111011101110
101110111011
19
1110111011101
1011101110111
21
11101110111011
10111011101110
22
111011101110111
1011101110111...

result:

wrong answer There are 8 1s in you output, but you answered 7 (test case 4)