记录编号 576462 评测结果 AAAAAAAAAA
题目名称 [NOIP 2008]立体图 最终得分 100
用户昵称 Gravatarムラサメ 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2022-10-09 21:10:27 内存使用 0.00 MiB
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int m,n;
  4. int tmp[51][51];
  5. char a[610][610];
  6. void work(int x,int y){
  7. a[1+x][1+y]=a[1+x][5+y]=a[4+x][5+y]='/';
  8. a[x][2+y]=a[x][6+y]=a[2+x][y]=a[2+x][4+y]=a[3+x][6+y]=a[5+x][y]=a[5+x][4+y]='+';
  9. a[1+x][6+y]=a[2+x][6+y]=a[3+x][y]=a[3+x][4+y]=a[4+x][y]=a[4+x][4+y]='|';
  10. a[x][3+y]=a[x][4+y]=a[x][5+y]=a[2+x][1+y]=a[2+x][2+y]=a[2+x][3+y]=a[5+x][1+y]=a[5+x][2+y]=a[5+x][3+y]='-';
  11. a[1+x][2+y]=a[1+x][3+y]=a[1+x][4+y]=a[2+x][5+y]=a[3+x][1+y]=a[3+x][2+y]=a[3+x][3+y]=a[3+x][5+y]=a[4+x][1+y]=a[4+x][2+y]=a[4+x][3+y]=' ';
  12. }
  13. int main(){
  14. freopen("drawingu.in","r",stdin);
  15. freopen("drawingu.out","w",stdout);
  16. ios::sync_with_stdio(0);
  17. cin.tie(0);
  18. cout.tie(0);
  19. memset(a,(char)46,sizeof(a));
  20. cin>>m>>n;
  21. int xx=0,yy,zz;
  22. for(int i=1;i<=m;i++){
  23. zz=0;
  24. for(int j=1;j<=n;j++){
  25. cin>>tmp[i][j];
  26. zz=max(zz,tmp[i][j]);
  27. }
  28. xx=max(xx,2*(m-i+1)+3*zz+1);
  29. }
  30. yy=2*m+4*n+1;
  31. for(int i=1;i<=m;i++){
  32. for(int j=1;j<=n;j++){
  33. for(int k=1;k<=tmp[i][j];k++){
  34. work(xx-2*m+2*i-3*k-2,2*m-2*i+4*j-3);
  35. }
  36. }
  37. }
  38. for(int i=1;i<=xx;i++){
  39. for(int j=1;j<=yy;j++){
  40. cout<<a[i][j];
  41. }
  42. cout<<endl;
  43. }
  44. return 0;
  45. }