zoukankan      html  css  js  c++  java
  • hdu 2074 堆放篮 好开心图纸标题

    堆放篮

    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
    输入是一个个的三元组,各自是。外筐尺寸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;
    }


  • 相关阅读:
    springboot集成mockito与powermock
    不一样的go语言-玩转语法之二
    不一样的go语言-玩转语法之一
    不一样的go语言-athens源码概览
    不一样的go语言-athens私仓安装
    不一样的go语言-构建系统与构件系统
    不一样的go语言-error
    不一样的go语言-gopher
    jssip中文开发文档(完整版)
    echarts属性的设置(完整大全)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4591859.html
Copyright © 2011-2022 走看看