【构造,字母图案】
一个n*n的正方形,如果它的任意一个2*2的子正方形都同时包含白色和红色元素,且二者的数目不同,那么就说这个n*n的正方形是平衡的,请你打印任意一个n*n的平衡正方形
Input
输入包含一个整数 n,(2≤n≤5000) - 正方形的长。
Output
输出 n 行 n列 字符 R 或 W ,显示像素的颜色(分别为红色和白色)。您可以打印所有可能答案中的任意答案。
Sample 1
Inputcopy | Outputcopy |
---|---|
3 | RRR WRW WWW |
思路:要求在任意2*2的范围内R与W的个数不一样,所以只能三一分,而不能二二分--->>>最简单的方式就是两行交替打印(奇数行为一种打印方式(奇偶数位交替打印R与W),偶数行是另一种打印方式(只打印一种字母)
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;for(int i=0;i<n;i++){if(i%2==1) //奇数行的打印方式{for(int j=0;j<n;j++)cout<<'R';cout<<endl;}else //偶数行的打印方式{for(int k=1;k<=n;k++){if(k%2==1)cout<<'W';elsecout<<'R';}cout<<endl; //一行打印完再结束}}return 0;
}