• (2018 Multi-University Training Contest 3)Problem L. Visual Cube


     

    //题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330
    //题目大意:按照一定格式画出一个 a×b×c 的长方体。 
    //解题思路:计算画布大小以及各个关键位置的坐标。按照格式将画布填充正确。逐步覆盖就对了,csy说这是全场最简单的题!虽然我们是第三个做的~
    1 #include <bits/stdc++.h> 2 using namespace std; 3 char s[100][100]; 4 int main() 5 { 6 int T; 7 scanf("%d",&T); 8 while(T--) 9 { 10 int a,b,c; 11 scanf("%d%d%d",&a,&b,&c); 12 int m=2*b+2*a+1; 13 int n=2*b+2*c+1; 14 for(int i=1;i<=n;i++) 15 { 16 for(int j=1;j<=m;j++) 17 { 18 if(i%2==1&&j%2==1) 19 { 20 s[i][j]='+'; 21 } 22 else if(i%2==1&&j%2==0) 23 { 24 s[i][j]='.'; 25 } 26 else if(i%2==0&&j%2==1) 27 { 28 s[i][j]='|'; 29 } 30 else 31 { 32 s[i][j]='/'; 33 } 34 } 35 } 36 for(int i=1;i<=2*b;i++) 37 { 38 for(int j=2*b+1-i;j>=1;j--) 39 { 40 s[i][j]='.'; 41 } 42 } 43 for(int i=n-2*b+1;i<=n;i++) 44 { 45 for(int j=m-2*b+1+(n-i);j<=m;j++) 46 { 47 s[i][j]='.'; 48 } 49 } 50 for(int i=1;i<=2*b;i++) 51 { 52 for(int j=2*b+3-i;j<=m-i;j+=2) 53 if(i%2==1) 54 s[i][j]='-'; 55 else 56 s[i][j]='.'; 57 } 58 for(int i=2*b+1;i<=n;i++) 59 { 60 for(int j=2;j<=2*a;j+=2) 61 { 62 if(i%2==1) 63 s[i][j]='-'; 64 else 65 s[i][j]='.'; 66 } 67 } 68 for(int i=1;i<=n;i++) 69 { 70 for(int j=1;j<=m;j++) 71 { 72 cout<<s[i][j]; 73 } 74 cout<<endl; 75 } 76 } 77 78 }
  • 相关阅读:
    在页面生命周期执行时 Page 对象在 SaveState 阶段都发生了什么事?
    接收Firfox RESTClient #Post请求
    c# 单例模式[Singleton]之深夜闲聊
    JQuery 之 Ajax 异步和同步浅谈
    [模板]数学整合
    Yandex插件使用说明——Slager_Z
    模板练习(LUOGU)
    数学整合 新(LUOGU)
    [NOI.AC]DELETE(LIS)
    [NOI.AC]COUNT(数学)
  • 原文地址:https://www.cnblogs.com/lino/p/9392451.html
Copyright © 2020-2023  润新知