NOIP 2008普及组 立体图
2017-08-12 17:07
337 查看
对于正在做这道题的同学,我遗憾地告诉你们,这道题就是坑倒dalao,防止AK(虽然08年好像还是有人AK了,orz)的纯模拟题,没有任何算法或者技巧。但是请不要绝望,我写出来也就是那么一个通宵的时间,下面附上源码,给予你们些许慰藉
#include <iostream> #include <cstdio> #include <cstring> using namespace std; char c[2001][2001]; int gz[55][55]; const char mb[][9]={""," +---+.."," | |/."," | | +"," +---+ |"," ./ /|"," ..+---+"}; int zuim=0,zuin=0; void tc(int m,int n) { for(int i=0;i<6;i++){ for(int j=0;j<7;j++){ if(mb[i+1][j+1]!='.') { c[i+m][j+n]=mb[i+1][j+1]; if(i+m>zuim){ zuim=i+m; } if(j+n>zuin){ zuin=j+n; } } } } } int main() { int m,n,zuigao=1; memset(gz,0,sizeof(gz)); scanf("%d%d",&m,&n); for(int i=m;i>0;i--){ for(int j=1;j<=n;j++) { scanf("%d",&gz[i][j]); if(gz[i][j]>zuigao){ zuigao=gz[i][j]; } } } for(int i=0;i<2001;i++){ for(int j=0;j<2001;j++){ c[i][j]='.'; } } for(int i=m;i>0;i--){ for(int k=1;k<=n;k++){ for(int j=1;j<=gz[i][k];j++){ tc((j-1)*3+1+((i-1)*2),(k-1)*4+1+((i-1)*2)); } } } for(int i=zuim;i>0;i--) { for(int j=1;j<=zuin;j++){ printf("%c",c[i][j]); } printf("\n"); } return 0; }
相关文章推荐
- NOIP2008普及组 立体图
- NOIP2008普及组 排座椅(贪心)
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
- 【模拟 集合】[NOIP2008普及组]立体图 tyvj1009
- Cpp环境【NOIP2008普及组】【Vijos1769】 排座椅
- NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
- NOIP 2008 普及组 复赛 drawing 立体图
- NOIP2008普及组第3题 传球游戏
- [递推] 传球游戏 HUSTOJ 2974 NOIP2008普及组3
- NOIP2008普及组传球游戏(动态规划)——yhx
- 【noip2008】【普及组】立体图
- NOIP2008 普及组T3 传球游戏 解题报告-S.B.S.
- NOIP2008 普及组T3 传球游戏 解题报告-S.B.S.
- NOIP2008普及组传球游戏(动态规划)——yhx
- NOIP 2008 普及组 2(排座椅) 背包问题
- 【noip2008普及】传球游戏
- Noip2008普及组
- NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
- NOIP 2008 普及组 复赛 isbn ISBN号码
- NOIP2008(普及组)T3 传球游戏