专栏文章

CF2094C Brr Brrr Patapim

CF2094C题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipjunt8
此快照首次捕获于
2025/12/03 13:11
3 个月前
此快照最后确认于
2025/12/03 13:11
3 个月前
查看原文

题目传送门

思路

本题就是给你一个二维数组,一维数组 pi+jp_{i+j} 上的数就对应二维数组中 Gi,jG_{i,j} 表示的数。
不难看出,一维数组 pp 中唯一没有被赋值的数就是 p1p_1,我们只需要找出 12×n1 \sim 2 \times n 中没有出现过的数,然后将其赋值给 p1p_1 即可。而其余位置上的数在输入时赋值就行。

AC Code:

CPP
#include <bits/stdc++.h>
using namespace std;
const int N=800+5;
int a[N*2];
int h[N*2];
int main()
{
	int t;
	cin >>t;
	while(t--)
	{
		memset(a,0,sizeof a);
		memset(h,0,sizeof h);
		int n;
		cin >>n;
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				int x;
				cin >>x;
				a[i+j]=x;
				h[x]++;
			}
		}
		for(int i=1;i<=n*2;i++)
		{
			if(h[i]==0)
			{
				a[1]=i;
				break;
			}
		}
		for(int i=1;i<=n*2;i++) cout <<a[i]<<" ";
		cout <<'\n';
	}
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...