题意:构造一个包含若干层的大楼,每层都是一个等大的网格。有若干个国家在这里办公,你需要把每个格子分配给一个国家,使得任意!两个不相同的国家都有相邻的格子(要么是同层中含有公共边的格子,要么就是相邻层的同一个格子),每个国家的格子必须连通;
这个大楼的长,宽,高都是你设计的。
输出:H,W,L代表大楼的层数,行数,列数,然后是每层楼的平面图。不同国家用不同的大小写字母表示。例如n=5,
2 5 5
第一层为:
aaaaa
bbbbb
cccccc
ddddd
eeeee
第二层为:
abcde
abcde
abcde
abcde
abcde
注意大写A-Z和小写a-z在ASICC中不相邻
#include<bits/stdc++.h>
using namespace std;
int main()
{
string ans="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int n;
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",ans[i]);
}
printf("\n");
}
printf("\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%c",ans[j]);
}
printf("\n");
}
}
return 0;
}
本文介绍了一个算法,用于构建一个多层大楼模型,每层由等大的网格组成。目标是将这些网格合理分配给多个国家使用,确保任意两个不同国家都能通过相邻网格相连,并且每个国家的网格必须保持连通。
329

被折叠的 条评论
为什么被折叠?



