QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#105639#6309. AqreLYC_music#WA 3ms7520kbC++142.3kb2023-05-14 16:50:182023-05-14 16:50:22

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-14 16:50:22]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:7520kb
  • [2023-05-14 16:50:18]
  • 提交

answer

#include<bits/stdc++.h>
#define poly vector<int>
#define IOS ios::sync_with_stdio(false)
#define ll long long
#define mp make_pair
#define mt make_tuple
#define pa pair < int,int >
#define fi first
#define se second
#define inf 1e18
#define mod 998244353
#define int ll
#define N 1005
using namespace std;
int n,m;
int vis[N][N],a[N][N],A[N][N];
const int b[4][4]={
	{1,1,1,0},
	{1,0,1,1},
	{1,1,0,1},
	{0,1,1,1}};
const int dx[4]={0,0,1,-1};
const int dy[4]={1,-1,0,0};
bool chk()
{
	int x=0;
	for (int i=0;i<n;i++)
		for (int j=0;j<m;j++) vis[i][j]=0;
	for (int i=0;i<n;i++)
		for (int j=0;j<m;j++)
			if (a[i][j]&&!vis[i][j])
			{
				x++;
				if (x>1)return 0;
				queue<pa>q;
				q.push(mp(i,j));
				while (!q.empty())
				{
					int X=q.front().fi,Y=q.front().se;
					vis[X][Y]=1;
					q.pop();
					for (int k=0;k<4;k++)
					{
						int nx=X+dx[k];
						int ny=Y+dy[k];
						if (nx>=0&&nx<n&&ny>=0&&ny<m&&a[nx][ny])
						{
							if (vis[nx][ny]) continue;
							vis[nx][ny]=1;
							q.push(mp(nx,ny));
						}
					}
				}
			}
	return 1;
}
void BellaKira()
{
	cin>>n>>m;
	if (n<=3&&m<=3)
	{
		cout<<n*m<<'\n';
		for (int i=1;i<=n;i++)
		{
			for (int j=1;j<=m;j++) cout<<1;
			cout<<'\n';
		}
		return;
	}
	if (n<=2)
	{
		int ans=0;
		for (int i=1;i<=n;i++)
		{
			for (int j=0;j<m;j++)
				a[i][j]=((j%4)!=(4-i)),ans+=a[i][j];
		}
		cout<<ans<<'\n';
		for (int i=1;i<=n;i++)
		{
			for (int j=0;j<m;j++)
				cout<<a[i][j]<<"";
			cout<<'\n';
		}
		return;
	}
	if (m<=2)
	{
		int ans=0;
		for (int i=0;i<n;i++)
		{
			for (int j=1;j<=m;j++)
				a[i][j]=((i%4)!=(4-j)),ans+=a[i][j];
		}
		cout<<ans<<'\n';
		for (int i=0;i<n;i++)
		{
			for (int j=1;j<=m;j++)
				cout<<a[i][j]<<"";
			cout<<'\n';
		}
		return;
	}
	int ans=0;
	for (int x=0;x<4;x++)
		for (int y=0;y<4;y++)
		{
			int tot=0;
			for (int i=0;i<n;i++)
				for (int j=0;j<m;j++)
					a[i][j]=b[(x+i)%4][(y+j)%4],tot+=a[i][j];
			// cout<<"?"<<tot<<'\n';
			if (tot>ans&&chk())
			{
				ans=tot;
				for (int i=0;i<n;i++)
					for (int j=0;j<m;j++)
						A[i][j]=a[i][j];
			}
		}
	cout<<ans<<'\n';
	for (int i=0;i<n;i++)
	{
		for (int j=0;j<m;j++) cout<<A[i][j];
		cout<<'\n';
	}
}
signed main()
{
	IOS;
	cin.tie(0);
	int T=1;
	cin>>T;
	while (T--)
	{
		BellaKira();
	}
}

詳細信息

Test #1:

score: 100
Accepted
time: 3ms
memory: 7520kb

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: 7488kb

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
1101
8
11101
11011
10
111011
110111
11
1110111
1101110
12
11101110
11011101
14
111011101
110111011
16
1110111011
1101110111
17
11101110111
11011101110
18
111011101110
110111011101
20
1110111011101
1101110111011
22
11101110111011
11011101110111
23
111011101110111
110111011101...

result:

wrong answer 1s are not connected. (test case 3)