zoukankan      html  css  js  c++  java
  • L

    ### 思路  

    按要求打印方块

      注意考虑边界棱的问题
      宽和高的差值可能为负数(这里分了b-c>=0和b-c< 0两种情况,分开画)

    ### 代码

      1 #include <bits/stdc++.h>
      2 #include <iostream>
      3 #include <cstring>
      4 #include <stack>
      5 #include <cstdlib>
      6 #include <queue>
      7 #include <cmath>
      8 #include <cstdio>
      9 #include <algorithm>
     10 #include <string>
     11 #include <vector>
     12 #include <list>
     13 #include <iterator>
     14 #include <set>
     15 #include <map>
     16 #include <utility>
     17 #include <iomanip>
     18 #include <ctime>
     19 #include <sstream>
     20 #include <bitset>
     21 #include <deque>
     22 #include <limits>
     23 #include <numeric>
     24 #include <functional>
     25 
     26 #define gc getchar()
     27 #define mem(a) memset(a,0,sizeof(a))
     28 #define mod 1000000007
     29 #define sort(a,n,int) sort(a,a+n,less<int>())
     30 #define fread() freopen("in.in","r",stdin)
     31 #define fwrite() freopen("out.out","w",stdout)
     32 using namespace std;
     33 
     34 typedef long long ll;
     35 typedef char ch;
     36 typedef double db;
     37 
     38 const int maxn=1e5+10;
     39 //ll a[maxn];
     40 int aa[maxn];
     41 
     42 int main()
     43 {
     44 int t;
     45 cin>>t;
     46 while(t--)
     47 {
     48     int a , b , c;
     49     cin>>a>>b>>c;
     50     if(c>b)
     51     {
     52         
     53     for(int i = 0;i<2*b;i++)
     54     {
     55         for(int j = 0;j<2*b-i;j++) 
     56             cout<<'.';
     57         if(i%2)
     58         {
     59             for(int j = 0;j <a;j++)
     60             {
     61                 cout<<"/.";
     62             }
     63             cout<<'/';
     64         }
     65         else
     66         {
     67             for(int j = 0;j <a;j++)
     68             {
     69                 cout<<"+-";
     70             }
     71             cout<<'+';
     72         }
     73         for(int j = 0;j<i/2;j++)
     74         {
     75             if(i%2)
     76                 cout<<"|/"; 
     77             else
     78                 cout<<".+";
     79         }
     80         if(i%2)
     81             cout<<'|';
     82 
     83         cout<<endl;
     84     }
     85     for(int i = 0;i<(c-b)*2;i++)
     86     {
     87         if(i%2)
     88         {
     89             for(int j = 0;j<a;j++)
     90                 cout<<"|.";
     91             cout<<'|';
     92             for(int j = 0;j<b;j++)
     93                 cout<<"/|";
     94         }
     95         else
     96         {
     97             for(int j = 0;j<a;j++)
     98                 cout<<"+-";
     99             cout<<'+';
    100             for(int j = 0;j<b;j++)
    101                 cout<<".+";
    102         }
    103         cout<<endl;
    104     }
    105     for(int i = 0;i<2*b+1;i++)
    106     {
    107         if(i%2)
    108         {
    109             for(int j = 0;j<a;j++)
    110                 cout<<"|.";
    111             cout<<'|';
    112             for(int j = 0;j<(2*b-i-1)/2;j++)
    113                 cout<<"/|";
    114             cout<<'/'; 
    115         }
    116         else
    117         {
    118             for(int j = 0;j<a;j++)
    119                 cout<<"+-";
    120             cout<<'+';
    121             for(int j = 0;j<(2*b-i)/2;j++)
    122                 cout<<".+";
    123         }
    124         for(int j = 0;j<i;j++)
    125             cout<<'.';
    126         cout<<endl;
    127     }
    128     
    129     }
    130     else
    131     {
    132         
    133     for(int i = 0;i<2*c;i++)
    134     {
    135         for(int j = 0;j<2*b-i;j++) 
    136             cout<<'.';
    137         if(i%2)
    138         {
    139             for(int j = 0;j <a;j++)
    140             {
    141                 cout<<"/.";
    142             }
    143             for(int j = 0;j <i/2+1;j++)
    144             {
    145                 cout<<"/|";
    146             }
    147         }
    148         else
    149         {
    150             for(int j = 0;j <a;j++)
    151             {
    152                 cout<<"+-";
    153             }
    154             cout<<'+';
    155             for(int j = 0;j <i/2;j++)
    156             {
    157                 cout<<".+";
    158             }
    159         }
    160         cout<<endl;
    161     }
    162     for(int i = 0;i<(b-c)*2;i++)
    163     {
    164         for(int j = 2*c;j<2*b-i;j++) 
    165             cout<<'.';
    166         if(i%2)
    167         {
    168             for(int j = 0;j <a;j++)
    169             {
    170                 cout<<"/.";
    171             }
    172             for(int j = 0;j <c;j++)
    173             {
    174                 cout<<"/|";
    175             }
    176             cout<<'/';
    177         }
    178         else
    179         {
    180             for(int j = 0;j <a;j++)
    181             {
    182                 cout<<"+-";
    183             }
    184             cout<<'+';
    185             for(int j = 0;j <c;j++)
    186             {
    187                 cout<<".+";
    188             }
    189         }
    190         for(int j = 0;j<i;j++)
    191         {
    192             cout<<'.';
    193         }
    194         cout<<endl;
    195     }
    196     for(int i = 0;i<2*c+1;i++)
    197     {
    198         if(i%2)
    199         {
    200             for(int j = 0;j <a;j++)
    201             {
    202                 cout<<"|.";
    203             }
    204             cout<<'|';
    205             for(int j = 0;j <(2*c-i)/2;j++)
    206             {
    207                 cout<<"/|";
    208             }
    209             cout<<'/';
    210         }
    211         else
    212         {
    213             for(int j = 0;j <a;j++)
    214             {
    215                 cout<<"+-";
    216             }
    217             cout<<'+';
    218             for(int j = 0;j <(2*c-i)/2;j++)
    219             {
    220                 cout<<".+";
    221             }
    222         }
    223         for(int j = 0;j<2*b-2*c+i;j++)
    224         cout<<'.';
    225         
    226         cout<<endl;
    227     }
    228     
    229     }
    230 }
    231 }

    作者:YukiRinLL

    出处:YukiRinLL的博客--https://www.cnblogs.com/SutsuharaYuki/

    您的支持是对博主最大的鼓励,感谢您的认真阅读。

    本文版权归作者所有,欢迎转载,但请保留该声明。

  • 相关阅读:
    elasticsearch之聚合函数
    elasticsearch之高亮查询
    elasticsearch之查询结果过滤
    elasticsearch之布尔查询
    elasticsearch之分页查询
    elasticsearch 之 排序查询
    elasticsearch 查询 term和match
    WSGI uwsgi wsgiref uWSGI werkzeug
    Django Contenttype组件
    迭代器
  • 原文地址:https://www.cnblogs.com/SutsuharaYuki/p/11224215.html
Copyright © 2011-2022 走看看