书上指出有一种很经典的构造方法,对于所有n,设计出两层楼,每层楼n行,n列,
第一层楼第i行的办公室(i>=1)均为国家i所有,第二层第j列的办公室均为国家j所有。
/**==========================================
* This is a solution for ACM/ICPC problem
*
* @source£º uva 1605 Building for UN
* @type:
* @author: wust_ysk
* @blog: http://blog.csdn.net/yskyskyer123
* @email: 2530094312@qq.com
*===========================================*/
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
const int INF =0x3f3f3f3f;
int n;
char s[60];
int main()
{
for(char x='A';x<='Z';x++)
{
s[x-'A']=x;
}
for(char x='a';x<='z';x++)
{
s[26+x-'a']=x;
}
int kase=0;
while(~scanf("%d",&n))
{
if(kase++) putchar('\n');
printf("%d %d %d\n",2,n,n);
for(int i=1;i<=2;i++)
{
for(int j=1;j<=n;j++)
{
for(int k=1;k<=n;k++)
{
putchar(i==1?s[j-1]:s[k-1]);
}
putchar('\n');
}
if(i==1) putchar('\n');
}
}
return 0;
}