社区讨论

#6 没过 求助大佬

P1162填涂颜色参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@m4ntvdpa
此快照首次捕获于
2024/12/14 15:00
去年
此快照最后确认于
2024/12/14 17:55
去年
查看原帖
CPP
#include<iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int a[35][35];
int main()
{
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cin >> a[i][j];
		}
	}

	for (int i = 2; i < n; i++)
	{
		for (int j = 2; j < n; j++)
		{
			int left = 0, right = 0, up = 0, down = 0;
			if (a[i][j] == 0)
			{
				for(int k=1;k<j;k++)
				{
					if (a[i][k] == 1)
					{
						left = 1;
						break;
					}
				}
				for (int k = j + 1; k <= n; k++)
				{
					if (a[i][k] == 1)
					{
						right = 1;
						break;
					}
				}
				for (int h = 1; h < i; h++)
				{
					if (a[h][j] == 1)
					{
						up = 1;
						break;
					}
				}
				for (int h = i + 1; h <= n; h++)
				{
					if (a[h][j] == 1)
					{
						down = 1;
						break;
					}
				}
				if (left == 1 && right == 1 && up == 1 && down == 1)a[i][j] = 2;
			}
		}
	}

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cout<< a[i][j]<<" ";
		}
		cout << endl;
	}
	return 0;
}
#6 输入: 8
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 0 1 1 1 1 0 1
1 0 1 0 0 1 1 1
1 0 1 0 0 0 0 0
1 0 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1
编译器输出:
1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 1
1 2 1 1 1 1 2 1
1 2 1 2 2 1 1 1
1 2 1 0 0 0 0 0
1 2 1 1 1 1 1 1
1 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1
感觉没问题
洛谷输出: 1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 1
1 2 1 1 1 1 2 1
1 2 1 0 0 1 1 1
1 2 1 0 0 0 0 0
1 2 1 1 1 1 1 1
1 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1
嗯,就有问题了。

回复

1 条回复,欢迎继续交流。

正在加载回复...