• hdoj 2074 叠筐


    叠筐

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 14556    Accepted Submission(s): 3784


    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@
       @@@
    1、注意考虑n==1的情况
    2、注意每两组输出之间有一个空白行
    #include<stdio.h>
    #include<string.h>
    #define MAX 110
    char s[MAX][MAX];
    int main()
    {
    	int n,m,j,i,t;
    	char a,b,c;
    	int ok=0;
    	while(scanf("%d %c %c",&n,&a,&b)!=EOF)
    	{
    		if(ok)
    		printf("
    ");
    		ok=1;
    		if(n==1)
    		{
    			printf("%c
    ",a);
    			continue;
    		}
    		memset(s,'',sizeof(s));
    		m=(n+1)/2-1;
    		s[m][m]=a;
    		for(i=1;i<=m;i++)
    		{
    			if(i&1) c=b;
    			else c=a;
    			for(j=m-i;j<=m+i;j++)
    			{
    				s[m-i][j]=c;
    				s[m+i][j]=c;
    				s[j][m-i]=c;
    				s[j][m+i]=c;
    			}
    		}
    		s[0][0]=' ';
    		s[0][n-1]=' ';
    		s[n-1][0]=' ';
    		s[n-1][n-1]=' ';
    		for(i=0;i<n;i++)
    		{
    		    puts(s[i]);
    		}
    	}
    	return 0;
    } 
    

      

     
     
     
     
  • 相关阅读:
    jQuery 获取jsp页面中用iframe引入的jsp页面中的值
    spring事务管理
    mysql中将多行数据合并成一行数据
    C语言字符串格式化输出
    gdb无法单步调试
    Linux系统glibc库版本信息查看
    gcc编译命令行依赖库的指定顺序
    HDFS的基础与操作
    搭建Kubernetes容器集群管理系统
    如何在 CentOS 里下载 RPM 包及其所有依赖包
  • 原文地址:https://www.cnblogs.com/tonghao/p/4677362.html
Copyright © 2020-2023  润新知