#6 没过 求助大佬
  • 板块P1162 填涂颜色
  • 楼主wrxw
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/14 14:59
  • 上次更新2024/12/14 17:55:32
查看原帖
#6 没过 求助大佬
1467294
wrxw楼主2024/12/14 14:59
#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

嗯,就有问题了。

2024/12/14 14:59
加载中...