题目大意:给你n个国家,要你在一个建筑里为这些国家排列办公室,要求是每个国家至少有两间办公室是相邻,相邻的概念是要么在同一层有相同的墙壁,要么是上下层,下层的天花板是上层的地板
输出:h,w,l,h是建筑的高度,每层有l条,每条有w个办公室。每层之间有一个空行。
方法:一共有n层,每层2条,每条n间办公室,第一条的办公室是相应层对应的国家,第二条1ton个国家,这样就能满足每个至少有两间办公室相邻,并且所有国家都有办公室。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<time.h>
using namespace std;
char s[100];
int main()
{
int n,i,j;
while(cin>>n)
{
cout<<n<<" "<<n<<" "<<2<<endl;;
for(i=0;i<n;i++)
{
if(i<=25)
{
s[i]='a'+i;
}
else
{
s[i]='A'+i-26;
}
}
for(j=0;j<n;j++)
{
for(i=0;i<n;i++)
{
if(j<26)
{
cout<<char('a'+j);
}
else
{
cout<<char('A'+j-26);
}
}
cout<<endl;
for(i=0;i<n;i++)
{
cout<<s[i];
}
cout<<endl;
cout<<endl;
}
}
return 0;
}