• HDU 6330.Problem L. Visual Cube-模拟到上天-输出立方体 (2018 Multi-University Training Contest 3 1012)


    6330.Problem L. Visual Cube

    这个题就是输出立方体。当时写完怎么都不过,后来输出b<c的情况,发现这里写挫了,判断失误。加了点东西就过了,mdzz。。。

    代码:

     1 //1012-模拟乱写输出立方体
     2 #include<iostream>
     3 #include<cstdio>
     4 #include<cstring>
     5 #include<algorithm>
     6 #include<cmath>
     7 #include<cstdlib>
     8 using namespace std;
     9 typedef long long ll;
    10 const int maxn=1e5+10;
    11 
    12 char a[200][200];
    13 int main()
    14 {
    15      int t;
    16      scanf("%d",&t);
    17      while(t--){
    18         int aa,b,c;
    19         scanf("%d%d%d",&aa,&b,&c);
    20         int x=c*2+1+b*2,y=aa*2+1+b*2;
    21         for(int i=1;i<=x;i++){
    22             for(int j=1;j<=y;j++)
    23                 a[i][j]='.';
    24         }
    25         for(int i=1;i<=x;i++){
    26             if(i<=2*b){
    27                 if(i%2!=0){
    28                     for(int j=2*b-i+2;j<=2*b-i+2+2*aa;j++){
    29                         if((j-2*b-i+2+1)%2!=0) a[i][j]='+';
    30                         else a[i][j]='-';
    31                     }
    32                     for(int j=2*b-i+2+2*aa+2;j<=y;j+=2)
    33                         a[i][j]='+';
    34                 }
    35                 else{
    36                     for(int j=2*b-i+2;j<=y;j+=2){
    37                         a[i][j]='/';
    38                     }
    39                     for(int j=2*b-i+2+2*aa+1;j<=y;j+=2)
    40                         a[i][j]='|';
    41                 }
    42             }
    43             else if((i-2*b)>0&&(i-2*b)<=2*(c-b)+1){
    44                     if((i-2*b)%2!=0){
    45                         for(int j=1;j<=2*aa+1;j++){
    46                             if((j-1+1)%2!=0) a[i][j]='+';
    47                             else a[i][j]='-';
    48                         }
    49                         for(int j=2*aa+1+2;j<=y;j+=2)
    50                             a[i][j]='+';
    51                     }
    52                     else{
    53                         for(int j=1;j<=2*aa+1;j+=2)
    54                             a[i][j]='|';
    55                         for(int j=2*aa+1+1;j<=y;j++){
    56                             if((j-2*aa-1-1+1)%2!=0) a[i][j]='/';
    57                             else a[i][j]='|';
    58                         }
    59                     }
    60             }
    61             else{
    62                 if((i-(2*c+1))%2!=0){
    63                     for(int j=1;j<=2*aa+1;j+=2){
    64                         a[i][j]='|';
    65                     }
    66                     for(int j=2*aa+1+1;j<=y-(i-(2*c+1));j++){
    67                         if((j-2*aa-1-1+1)%2!=0) a[i][j]='/';
    68                         else a[i][j]='|';
    69                     }
    70                 }
    71                 else{
    72                     for(int j=1;j<=2*aa+1;j++){
    73                         if((j-1+1)%2!=0) a[i][j]='+';
    74                         else a[i][j]='-';
    75                     }
    76                     for(int j=2*aa+1+2;j<=y-(i-(2*c+1));j+=2)
    77                         a[i][j]='+';
    78                 }
    79             }
    80         }
    81         if(c<b){//这种情况要判断一下
    82             for(int i=2*c+1+1;i<=x;i++){
    83                 for(int j=y;j>=y-i+2*c+2;j--)
    84                     a[i][j]='.';
    85             }
    86         }
    87         for(int i=1;i<=x;i++){
    88             for(int j=1;j<=y;j++){
    89                 cout<<a[i][j];
    90             }
    91             cout<<endl;
    92         }
    93      }
    94 }

    。。。

  • 相关阅读:
    Java--泛型
    Java--文档注释
    Java--网络编程
    Java--序列化
    Java--多线程编程
    Java--ConcurrentHashMap原理分析
    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
    面向接口编程详解
    面向接口编程
    base64 数据加密
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9413985.html
Copyright © 2020-2023  润新知