384A. Coder

A. Coder
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Iahub likes chess very much. He even invented a new chess piece named Coder. A Coder can move (and attack) one square horizontally or vertically. More precisely, if the Coder is located at position (x, y), he can move to (or attack) positions (x + 1, y),(x–1, y)(x, y + 1) and (x, y–1).

Iahub wants to know how many Coders can be placed on an n × n chessboard, so that no Coder attacks any other Coder.

Input

The first line contains an integer n (1 ≤ n ≤ 1000).

Output

On the first line print an integer, the maximum number of Coders that can be placed on the chessboard.

On each of the next n lines print n characters, describing the configuration of the Coders. For an empty cell print an '.', and for a Coder print a 'C'.

If there are multiple correct answers, you can print any.

Sample test(s)
input
2
output
2
C.
.C

水题,分奇偶讨论即可。

#include <iostream>
#include <cstring>
using namespace std;

int main(void)
{
	int n;
	cin>>n;
	if(n%2==0)cout<<n/2*n<<"\n";
	else cout<<(n/2)*(n/2)+(n/2+1)*(n/2+1)<<"\n";
	
	bool flag=1;
	for(int i=0 ; i<n ; ++i)
	{
		for(int j=0 ; j<n ; ++j)
		{
			if(flag)
			{
				if(j%2)cout<<'.';
				else cout<<'C';
			}
			else
			{
				if(j%2)cout<<'C';
				else cout<<'.';
			}
		}
		cout<<"\n";
		flag=!flag;
	}
	return 0;
}


你可能感兴趣的:(C++,算法)