Coder (Codeforces 384A)
Tags: Implement, implementation

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 Inputs:
2

Sample Outputs:
2
C.
.C

Solution (Python):
n = int(input())
from math import ceil as faiz
print(faiz(n * n / 2))
if n % 2 == 0:
    for i in range(n // 2):
        print('C.' * (n // 2))
        print('.C' * (n // 2))
else:
    for i in range(n // 2):
        print('C' + '.C' * (n // 2))
        print('.' + 'C.' * (n // 2))
    print('C' + '.C' * (n // 2))

Solution (Python):
from math import ceil
n = int(input())
print(n // 2 * (n // 2) + ceil(n / 2) * ceil(n / 2))
if n % 2 != 0:
    for i in range(n // 2):
        print('C' + '.C' * (n // 2))
        print('.C' * (n // 2) + '.')
    print('C' + '.C' * (n // 2))
else:
    for i in range(n // 2):
        print('.C' * (n // 2))
        print('C.' * (n // 2))

Solution (Python):
a = int(input())
if a % 2 == 0:
    print(a * (a // 2))
else:
    print(a * a // 2 + 1)
d = ['C.', '.C']
for i in range(0, a):
    if a % 2 == 0:
        print(d[i % 2] * (a // 2))
    elif i % 2 == 0:
        print(d[0] * (a // 2) + 'C')
    else:
        print(d[1] * (a // 2) + '.')