#include<cstdio>#include<iostream>#include<utility>#include<vector>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>#include<queue>#include<set>#include<map>#include<set>#include<array>#include<random>#include<bitset>#include<ctime>#include<limits.h>#include<assert.h>#include<unordered_set>#include<unordered_map>#define RI register int#define CI const int&#define mp make_pair#define fi first#define se second#define Tp template <typename T>usingnamespace std;
typedeflonglong LL;
typedeflongdouble LDB;
typedefunsignedlonglong u64;
typedef __int128 i128;
typedef pair <int,int> pi;
typedef vector <int> VI;
typedef array <int,3> tri;
constint N=20;
int t,n,m,k,h[N][N],l[N][N];
intmain(){
//freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);for (scanf("%d",&t);t;--t)
{
RI i,j; scanf("%d%d%d",&n,&m,&k); int s=n-1+m-1;
if (s>k||(k-s)%2==1) { puts("NO"); continue; }
for (i=1;i<=n;++i) for (j=1;j<m;++j) h[i][j]=1;
for (i=1;i<n;++i) for (j=1;j<=m;++j) l[i][j]=1;
h[1][1]=h[1][2]=h[2][1]=h[2][2]=l[2][2]=l[2][3]=1;
l[1][1]=l[1][2]=l[1][3]=h[3][2]=0;
int lst=(k-s)%4==2?1:0; puts("YES");
for (i=3;i<n;++i) lst^=1,l[i][3]=lst;
for (j=3;j<m;++j) lst^=1,h[n][j]=lst;
for (i=1;i<=n;++i) for (j=1;j<m;++j) printf("%c%c",h[i][j]?'R':'B'," \n"[j==m-1]);
for (i=1;i<n;++i) for (j=1;j<=m;++j) printf("%c%c",l[i][j]?'R':'B'," \n"[j==m]);
}
return0;
}
#include<cstdio>#include<iostream>#include<utility>#include<vector>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>#include<queue>#include<set>#include<map>#include<set>#include<array>#include<random>#include<bitset>#include<ctime>#include<limits.h>#include<assert.h>#include<unordered_set>#include<unordered_map>#define RI register int#define CI const int&#define mp make_pair#define fi first#define se second#define Tp template <typename T>usingnamespace std;
typedeflonglong LL;
typedeflongdouble LDB;
typedefunsignedlonglong u64;
typedef __int128 i128;
typedef pair <int,int> pi;
typedef vector <int> VI;
typedef array <int,3> tri;
constint N=1005,INF=5e8,dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
structifo{
int x,y,d;
inlineifo(CI X=-1,CI Y=-1,CI D=INF){
x=X; y=Y; d=D;
}
}f[N][N][2]; int t,n,m,sx,sy,f3[N][N]; char a[N][N];
intmain(){
//freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);for (scanf("%d",&t);t;--t)
{
RI i,j; for (scanf("%d%d",&n,&m),i=1;i<=n;++i)
for (scanf("%s",a[i]+1),j=1;j<=m;++j) if (a[i][j]=='V') sx=i,sy=j;
for (i=1;i<=n;++i) for (j=1;j<=m;++j) f[i][j][0]=f[i][j][1]=ifo(),f3[i][j]=INF;
queue <ifo> q; for (i=1;i<=n;++i) for (j=1;j<=m;++j)
if ((i==1||i==n||j==1||j==m)&&a[i][j]!='#')
f[i][j][0]=ifo(i,j,0),q.push(ifo(i,j,0));
int all=0; for (i=1;i<=n;++i) for (j=1;j<=m;++j) all+=a[i][j]=='.';
while (!q.empty())
{
auto [x,y,tp]=q.front(); q.pop();
for (i=0;i<4;++i)
{
int nx=x+dx[i],ny=y+dy[i];
if (nx<1||nx>n||ny<1||ny>m||a[nx][ny]=='#') continue;
if (f[nx][ny][0].d==INF) f[nx][ny][0]=f[x][y][tp],++f[nx][ny][0].d,q.push(ifo(nx,ny,0));
elseif ((f[nx][ny][0].x!=f[x][y][tp].x||f[nx][ny][0].y!=f[x][y][tp].y)&&f[nx][ny][1].d==INF)
f[nx][ny][1]=f[x][y][tp],++f[nx][ny][1].d,q.push(ifo(nx,ny,1));
}
}
if (f[sx][sy][0].d==INF) { printf("%d\n",all); continue; }
if (f[sx][sy][1].d==INF) { printf("%d\n",all-f[sx][sy][0].d); continue; }
q.push(ifo(sx,sy,f3[sx][sy]=0));
while (!q.empty())
{
auto [x,y,d]=q.front(); q.pop();
for (i=0;i<4;++i)
{
int nx=x+dx[i],ny=y+dy[i];
if (nx<1||nx>n||ny<1||ny>m||a[nx][ny]=='#') continue;
if (f3[nx][ny]==INF) q.push(ifo(nx,ny,f3[nx][ny]=d+1));
}
}
int ret=INF; for (i=1;i<=n;++i) for (j=1;j<=m;++j)
ret=min(ret,f3[i][j]+f[i][j][0].d+f[i][j][1].d);
printf("%d\n",all-ret);
}
return0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端