https://vjudge.net/problem/UVA-1605
题意:有n个国家,要求设计一栋楼并为这n个国家划分房间,要求国家的房间必须连通,且每两个国家之间必须有一间房间是相邻的。
思路:乍一看很难的样子,但真的是很简单。一共只要两层,每层都是n*n的,第一层第i行全是国家i,第二层第j列全是国家j。
但是如果不是这样做的话好像还是挺难的。
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<sstream>
using namespace std; char ans[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; int n; int main()
{
//freopen("D:\\txt.txt", "r", stdin);
while (cin>>n && n)
{
cout << "2 " << n << " " << n << endl;
for (int i = ; i < n; i++)
{
for (int j = ; j < n; j++)
cout << ans[i];
cout << endl;
}
cout << endl;
for (int i = ; i < n; i++)
{
for (int j = ; j < n; j++)
cout << ans[j];
cout << endl;
}
}
return ;
}