构造的题目,理解了题目的意思就很容易做。
要你建一个大楼,有n个国家要在这里面办公,需要把格子分配给各个国家,任意两个国家都有一对相邻的格子(要么是相邻层的同一个格子,要么是同层中有公共边的格子)。
只需构建两层的楼,第一层的第i列给第i个国家,第二层的第j行给第j个国家。构造出来的就符号题目的要求。
AC的代码:
#include <iostream>
using namespace std;
const int max = 60;
char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
int main()
{
int n, i, j;
while(cin >> n)
{
printf("2 %d %d\n", n, n);
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
printf("%c", str[j]);
printf("\n");
}
printf("\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
printf("%c", str[i]);
printf("\n");
}
}
return 0;
}