View Code of Problem 3872

#include<bits/stdc++.h>
using namespace std;

char Map[100][100];
int a,b,c;

int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d%d",&a,&b,&c);
        int n=2*b+2*c+1;
        int m=2*b+2*a+1;
        memset(Map,'.',sizeof Map);
        int num=2*b;
        for(int i=1;i<=2*b;i++){
            for(int j=1;j<=2*a+1;j++){
                if(i%2){
                    if(j%2)
                        Map[i][j+num]='+';
                    else
                        Map[i][j+num]='-';
                }
                else{
                        if(j%2)
                            Map[i][j+num]='/';
                }
            }
            num--;
        }

        for(int i=2*b+1;i<=n;i++){
            if(i%2){
                for(int j=1;j<=2*a+1;j++){
                    if(j%2)
                        Map[i][j]='+';
                    else
                        Map[i][j]='-';
                }
            }
            else{
                for(int j=1;j<=2*a+1;j++)
                    if(j%2)
                        Map[i][j]='|';
            }
        }
        num=0;
        for(int j=m;j>=2*a+2;j--){
            if(j%2){
                for(int i=1;i<=2*c+1;i++){
                    if(i%2)
                        Map[i+num][j]='+';
                    else
                        Map[i+num][j]='|';
                }
            }
            else{
                for(int i=1;i<=2*c+1;i++){
                    if(i%2)
                        Map[i+num][j]='/';
                }
            }
            num++;
        }


        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++)
                printf("%c",Map[i][j]);
            puts("");
        }
    }
}

Double click to view unformatted code.


Back to problem 3872