题目描述:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51167
/*
solution:
令大楼只有两层,一层第i行全市国家i,另外一层j列全是国家j。
这样就满足条件。
note:
构造法
date:
2016-5-18
*/
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 55;
int n;
char countries(int i) {
if(i < 26) return 'A' + i;
else return 'a' + i - 26;
}
int main()
{
int kase = 0;
while(~scanf("%d", &n)) {
printf("2 %d %d\n", n, n);
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
printf("%c", countries(i));
printf("\n");
}
printf("\n");
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
printf("%c", countries(j));
printf("\n");
}
}
return 0;
}