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<<"
"; else cout<<(n/2)*(n/2)+(n/2+1)*(n/2+1)<<"
"; 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<<"
"; flag=!flag; } return 0; }