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
output
水の問題は,奇偶に分けて討論すればよい.
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;
}