HDU 6330 Visual Cube(模拟)

 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330

 难点主要是要找出长、宽、高和图形之间的规律,解决了这个就没啥问题了

#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;

int main()
{
    int t,a,b,c;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d%d",&a,&b,&c);
        for(int i=0;i<2*b+2*c+1;i++)
        {
             for(int j=0;j<2*b+2*a+1;j++)
             {
                int h=i-(2*c);
                int m=((2*b-i)>0)?(2*b-i):0;
                if(j<2*b-i)
                    printf(".");
                else if(j<2*a+1+m)
                {
                    if(i%2==0)
                    {
                        if(j!=2*a+m)
                        {
                            printf("+-");
                            j++;
                        }
                        else
                            printf("+");
                    }
                    else
                    {
                       if(j!=2*a+m)
                       {
                            if(i>2*b)
                                printf("|.");
                            else
                                printf("/.");
                            j++;
                       }
                        else
                        {
                            if(i>2*b)
                                printf("|");
                            else
                                printf("/");
                        }
                    }
                }
                else if(j<2*a+1+2*b-h)
                {
                    if(i%2==0)
                    {
                        if(j%2==0)
                            printf("+");
                        else
                            printf(".");
                    }
                    else
                    {
                        if(j%2==0)
                            printf("|");
                        else
                            printf("/");
                    }
                }
                else
                    printf(".");
             }
             printf("\n");
        }
    }
}