码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-30 21:36:52      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:++   int   i++   clu   c++   计算   ble   覆盖   ==   

 

//题目链接: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 }

 

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

标签:++   int   i++   clu   c++   计算   ble   覆盖   ==   

原文地址:https://www.cnblogs.com/lino/p/9392451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!