AT3557 Four Coloring
Posted yzhx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AT3557 Four Coloring相关的知识,希望对你有一定的参考价值。
题目链接
题解
先把每个格子看做一个点 (所谓的切比雪夫距离的转化) ,然后旋转45度,再把他塞到一个每个格子大小为(d*d)的网格图中,那么在一个格子上的点颜色相同
代码
#include<bits/stdc++.h>
using namespace std;
#define re register
#define ll long long
#define in inline
#define get getchar()
in int read()
{
int t=0; char ch=get;
while(ch<'0' || ch>'9') ch=get;
while(ch<='9' && ch>='0') t=t*10+ch-'0', ch=get;
return t;
}
int h,w,d;
char s[4]={'R','Y','G','B'};
int main()
{
h=read();
w=read();
d=read();
for(re int i=1;i<=h;i++){
for(re int j=1;j<=w;j++)
{
int x=(i+j+w)/d,y=(i-j+w)/d;
//cout<<x<<' '<<y<<endl;
cout<<s[(x%2)*2+y%2];
}
cout<<endl;
}
}
以上是关于AT3557 Four Coloring的主要内容,如果未能解决你的问题,请参考以下文章
read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段