hdu 2074 바구니 접 기 재 미 있 는 그림 문제

2559 단어 도형.
바 구 니 를 개다
Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12160    Accepted Submission(s): 3136
Problem Description
필요 할 때 크기 가 한 바퀴 차이 나 는 바 구 니 를 접어 서 위 에서 아래 를 내 려 다 볼 때 가장자리 바구니 의 무늬 와 색깔 이 엇 갈 리 게 한다.이 일 은 이제 컴퓨터 로 완성 하려 고 하 니, 너의 것 에 달 려 있다.
 
Input
입력 은 하나의 3 원 그룹 입 니 다. 각각 외 바구니 사이즈 n (n 은 0 < n < 80 의 기이 한 정 수 를 만족 시 키 기 위해), 중심 무늬 문자, 외 바구니 무늬 문자, 후 두 가 지 는 모두 ASCII 로 볼 수 있 는 문자 입 니 다.
 
Output
겹 쳐 진 바구니 도안 을 출력 하고 중심 무늬 와 바깥 바구니 무늬 문 자 는 안쪽 에서 부터 교차 하여 겹 쳐 지고 여러 바구니 가 겹 쳐 질 때 가장 바깥 바구니 의 뿔 은 항상 다 듬 어 진다.바 구 니 를 접 는 것 과 바 구 니 를 접 는 것 사이 에는 한 줄 의 간격 이 있어 야 한다.
 
Sample Input

   
   
   
   
11 B A 5 @ W

 
Sample Output

   
   
   
   
AAAAAAAAA ABBBBBBBBBA ABAAAAAAABA ABABBBBBABA ABABAAABABA ABABABABABA ABABAAABABA ABABBBBBABA ABAAAAAAABA ABBBBBBBBBA AAAAAAAAA @@@ @WWW@ @W@W@ @WWW@ @@@

 
#include <iostream>
#include <map>
#include<string>
#define FOR(i,n) for(i=0;i<n;i++)
using namespace std;

int main()
{
	int n,i,j;
	char c1,c2;
	int jiaoti,zhong,flag=0;;
	while(scanf("%d %c %c",&n,&c1,&c2)!=EOF)//%s        
	{
		if(flag==1)//      
		{
	    	puts("");
		}
		flag=1;
		if(n==1)//    ,    ,
		{
			printf("%c
",c1); continue; } if(n/2+1&1)// (n-1)/2 . { char t; t=c1; c1=c2; c2=t; } FOR(i,n) { if(i==0||i==n-1)// { printf(" "); FOR(j,n-2) printf("%c",c2); puts(" "); continue; } if(i<n/2+1)// jiaoti=i; else jiaoti--; FOR(j,jiaoti)// { if(j&1) { printf("%c",c1); } else { printf("%c",c2); } } if(i<n/2+1)// . zhong=n-i*2; else zhong+=2; FOR(j,zhong) { if(i&1) { printf("%c",c1); } else { printf("%c",c2); } } FOR(j,jiaoti)// { if(j+i&1) { printf("%c",c2); } else { printf("%c",c1); } } puts(""); } } return 0; }

좋은 웹페이지 즐겨찾기