UVa 1605 - Building for UN(构造法)

来源:互联网 发布:淘宝推广费用 编辑:程序博客网 时间:2024/05/22 10:49

输入国家的个数,建造大楼使的每两个国家都有办公室相连。

例题书上给了很巧妙的思路,建造两层的n*n的大楼,第一层的第i行的都是国家i,第二层的第j列都是国家j。

#include<cstdio>#include<map>using namespace std;map<int,char> c;int main(){    for(int i=0;i<26;++i)        c[i]='A'+i;    for(int i=26;i<52;++i)        c[i]='a'+i-26;    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",c[i]);            printf("\n");        }        printf("\n");        for(int i=0;i<n;++i){            for(int j=0;j<n;++j)                printf("%c",c[j]);            printf("\n");        }    }    return 0;}


0 0