华中区全国设计邀请赛1004

http://acm.hdu.edu.cn/showproblem.php?pid=4218

恩。。。这题当时比赛的时候题意弄得稀里糊涂,不过赛后好好研究一下还是把题意弄得差不多了,其实这题没是用什么算法,只是简单的判断距离。不过这题

在输出时的空格上不符合常理的降低了难度,允许输出后面的空格,刚开始不知道就PE了N次,不过最后多次改动之后终于过了。代码如下:

#include"stdio.h"
#include"string.h"

int main( )
{
    int t,r,i,j,min,count=1;
    int a[50][50],num[50];
    scanf("%d",&t);
    while(t--)
    {
        min=50;
        memset(a,0,sizeof(a));
        scanf("%d",&r);
        for(i=0;i<=2*r;i++)
            for(j=0;j<=2*r;j++)
                if((i-r)*(i-r)+(j-r)*(j-r)-r*r<=3&&(i-r)*(i-r)+(j-r)*(j-r)-r*r>=-3)
                {
                    a[i][j]=1;
                    if(j<min)
                        min=j;
                }
    
        printf("Case %d:\n",count++);
        for(i=0;i<=2*r;i++)
        {
            for(j=0;j<=2*r;j++)
            {
                if(a[i][j]==1)
                    printf("*");
                else
                    printf(" ");
            }
            printf("\n");
        }
    }
    return 0;
}

 

posted @ 2012-04-15 22:26  朝圣の路  阅读(95)  评论(0编辑  收藏  举报