G - Sea and Islands
#include<iostream>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
int flag=0;
if(n%2==0)
flag=1;
if(flag)
{
if(n*n/2<k)
{
cout<<"NO"<<endl;
return 0;
}
}
else
{
if(n*n/2+1<k)
{
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES"<<endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(i%2==0)
{
if(j%2==0&&k)
cout<<"L",k--;
else
cout<<"S";
}
else
{
if(j%2!=0&&k)
cout<<"L",k--;
else
cout<<"S";
}
}
cout<<endl;
}
return 0;
}
本文介绍了一个名为G-SeaandIslands的算法实现,该算法通过输入两个整数n和k来判断是否可以在n×n的矩阵中放置k个'L'字符,其余位置填充'S'字符。矩阵中的'L'字符放置遵循特定规则:当n为偶数时,仅在偶数行的偶数列放置;当n为奇数时,在奇数行的奇数列放置。文章详细展示了算法的实现代码,并通过实例演示了如何运行该算法。
916

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



