
题目大意
构造一个序列满足B=W+1其中B代表的是周围有至少一个′W′的′B′'的总数量,W与之相反。
解题思路
贪心
只需左上角的格子为W,其他都为B即可
这样至少有一个黑色方格相邻的白色单元格的数量只有一个,而与它相邻的黑色方格数目有两个,刚好满足B=W+1
#include <iostream>
using namespace std;
int main()
{
int t;
cin >> t;
while (t--)
{
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
if (i == 1 && j == 1)
cout << "W";
else
cout << "B";
}
cout << endl;
}
}
return 0;
}
码字不易,留个赞吧~
本文介绍了一种解决特定数学问题的贪心算法策略,即构造一个序列,使得序列中周围有至少一个'W'的'B'总数等于'W'的数量加一。通过将左上角格子设为'W',其余设为'B',巧妙地满足了B=W+1的条件。
795

被折叠的 条评论
为什么被折叠?



