uva 1605 Building for UN

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=100977#problem/B

#include<bits/stdc++.h>
#define REP(i,a,b) for(int i=a;i<=b;i++)
#define MS0(a) memset(a,0,sizeof(a))

using namespace std;

typedef long long ll;
const int maxn=1000100;
const int INF=(1<<29);

int n;

int main()
{
    freopen("in.txt","r",stdin);
    int casen=1;
    while(cin>>n){
        if(casen>1) puts("");
        casen++;
        printf("2 %d %d\n",n,n);
        REP(i,1,n){
            REP(j,1,n){
                if(i<=26) printf("%c",'A'+i-1);
                else printf("%c",'a'+i-26-1);
            }
            puts("");
        }
        puts("");
        REP(i,1,n){
            REP(j,1,n){
                if(j<=26) printf("%c",'A'+j-1);
                else printf("%c",'a'+j-26-1);
            }
            puts("");
        }
    }
    return 0;
}

/**
题意:
    求设计一栋长方体建筑物,给建筑物内的房间染色,
    要求:相同颜色房间连通,每任意两种颜色的连通块必须有相邻部分。
    尺寸和形状没限制,输出任意一种符合条件的结果。
分析:
    只要设计成两层的,第一层n条横条斑马线,第二层n条纵条斑马线,每层颜色1~n,就符合条件了。
类型:
    构造。
注意事项:
    由于是立体的,不要和平面的四色定理弄混了。
坑点:
    无
总结:
    构造题还是要靠经验,多见题。
*/
View Code

 

posted @ 2015-11-30 12:18  __560  阅读(174)  评论(0编辑  收藏  举报