题意:

思路:

  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4. public static void main(String args[]) {
  5. Scanner la = new Scanner(System.in);
  6. int S = la.nextInt();
  7. while(S != 0) {
  8. --S;
  9. int a = la.nextInt(), b = la.nextInt(), c = la.nextInt();
  10. int A = 2 * a + 1, B = 2 * b + 1, C = 2 * c + 1;
  11. int x = A + B - 1;
  12. int y = C + B - 1;
  13. String JK[][] = new String[1000][1000];
  14.  
  15. String out = "+";
  16. String nextout = "-";
  17. String line = "|";
  18. String linenext = ".";
  19. Boolean flagout = true;
  20. Boolean flagline = true;
  21. for (int n = B - 1; n < y; n++) {
  22. flagout = true;
  23. if (flagline) {
  24. for (int m = 0; m < A; m++) {
  25.  
  26. if (flagout) {
  27. JK[n][m] = out;
  28. flagout = false;
  29. } else {
  30. flagout = true;
  31. JK[n][m] = nextout;
  32. }
  33. }
  34. flagline = false;
  35. } else {
  36. for (int m = 0; m < A; m++) {
  37.  
  38. if (flagout) {
  39. JK[n][m] = line;
  40. flagout = false;
  41. } else {
  42. flagout = true;
  43. JK[n][m] = linenext;
  44. }
  45. }
  46. flagline = true;
  47. }
  48. }
  49. // 上面
  50. int num = B - 1;
  51. out = "+";
  52. nextout = "-";
  53. line = "/";
  54. linenext = ".";
  55. flagout = true;
  56. flagline = true;
  57. for(int i=B-2;i>=0;i--) {
  58. for(int w=B-2;w>=0;w--) {
  59. JK[i][w]=".";
  60. JK[y-(i+1)][x-(w+1)]=".";
  61. }
  62. }
  63. for (int n = 0; n < B-1; n++) {
  64. int i=B-1-n-1;
  65. flagout = true;
  66. if (flagline) {
  67. for (int m = 0; m < A; m++) {
  68. if (flagout) {
  69. //System.out.println("m="+m+",i="+i);
  70. JK[n][m+i+1] = out;
  71. flagout = false;
  72. } else {
  73. flagout = true;
  74. //System.out.println("m="+m+",i="+i);
  75. JK[n][m+i+1] = nextout;
  76. }
  77. }
  78. flagline = false;
  79. } else {
  80. for (int m = 0; m < A; m++) {
  81.  
  82. if (flagout) {
  83. JK[n][m+i+1] = line;
  84. flagout = false;
  85. } else {
  86. flagout = true;
  87. JK[n][m+i+1] = linenext;
  88. }
  89. }
  90. flagline = true;
  91. }
  92. }
  93. // 右面
  94. num = B - 1;
  95. out = "+";
  96. nextout = "|";
  97. line = "/";
  98. linenext = ".";
  99. flagout = true;
  100. flagline = true;
  101.  
  102. for (int n = 0; n < B-1; n++) {
  103. //System.out.println(",n="+n);
  104. flagout = true;
  105. if (flagline) {
  106. for (int m =0; m < y-B+1; m++) {
  107. if (flagout) {
  108. //System.out.println("m="+m+",n="+n);
  109. JK[m+n][x-1-n] = out;
  110. flagout = false;
  111. } else {
  112. flagout = true;
  113. //System.out.println("m="+m+",n="+n);
  114. JK[m+n][x-1-n] = nextout;
  115. }
  116. }
  117. flagline = false;
  118. } else {
  119. for (int m = 0; m < y-B+1; m++) {
  120.  
  121. if (flagout) {
  122. //System.out.println("m="+m+",n="+n);
  123. JK[m+n][x-1-n] = line;
  124. flagout = false;
  125. } else {
  126. flagout = true;
  127. //System.out.println("m="+m+",n="+n);
  128. JK[m+n][x-1-n] = linenext;
  129. }
  130. }
  131. flagline = true;
  132. }
  133. }
  134.  
  135. for(int m=0;m<y;m++) {
  136. for(int n=0;n<x;n++) {
  137. System.out.print(JK[m][n]);
  138. }System.out.println();
  139. }
  140.  
  141. }
  142. }}

【HDOJ6330】Visual Cube(模拟)的更多相关文章

  1. HDU 多校对抗第三场 L Visual Cube

    Problem L. Visual Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java ...

  2. Problem L. Visual Cube(杭电多校2018年第三场+模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330 题目: 题意:给你长宽高,让你画出一个正方体. 思路:模拟即可,湘潭邀请赛热身赛原题,不过比那个 ...

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

      //题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330//题目大意:按照一定格式画出一个 a×b×c 的长方体.  #include <b ...

  4. HDU6330-2018ACM暑假多校联合训练Problem L. Visual Cube

    就是画个图啦 分三个平面去画orz #include <iostream> #include <cmath> #include <cstring> #include ...

  5. Hdu-5983 2016ACM/ICPC亚洲区青岛站 B.Pocket Cube 模拟

    题面 题意:给你一个2*2的魔方,给你每个面每个小块的颜色,一共24个,然后问你能否在一步之内还原. 题解:手动在纸上画,推出每种变化对应的置换,显然,一共有6种,而且可以当成3种,(具体哪3种,就是 ...

  6. HDU 6330--Visual Cube(构造,计算)

    Visual Cube 将这个立方体分块,分成上中下三个部分,利用长宽高计算行列,最后输出即可. 每个部分都分成奇偶行来输出,总共有\(2*(b+c)+1\)行,共\(2*(a+b)+1\)列.设当前 ...

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

    6330.Problem L. Visual Cube 这个题就是输出立方体.当时写完怎么都不过,后来输出b<c的情况,发现这里写挫了,判断失误.加了点东西就过了,mdzz... 代码: //1 ...

  8. 2018 HDU多校第三场赛后补题

    2018 HDU多校第三场赛后补题 从易到难来写吧,其中题意有些直接摘了Claris的,数据范围是就不标了. 如果需要可以去hdu题库里找.题号是6319 - 6331. L. Visual Cube ...

  9. 2018 Multi-University Training Contest 3 杭电多校第三场

    躺了几天 终于记得来填坑了 1001 Ascending Rating   (hdoj 6319) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6319 ...

随机推荐

  1. 外文翻译 《How we decide》被情感愚弄 第三节

    本科论文答辩终于结束啦,一切都要继续回到正轨. 这是第三章章最后一节 书的导言 本章第二节 本章第一节 "信用卡是我的敌人."Herman Palmer这样说到.在平日,Herma ...

  2. re正则表达式公式讲解1

    常用的表达式一些规则 1.“.”  匹配出了\n之外的任意一个字符,包括特殊字符 有几个·就匹配几个字符. import re print(re.search("."," ...

  3. viewport实现html页面动态缩放/meta viewport/viewport

    页面默认缩放比例为1,最小宽度为375px,在小于375px出现水平滚动条的时候重新计算显示比例缩小界面, <!DOCTYPE html> <html lang="en&q ...

  4. 为sublime Text3 安装插件JS Format

    1. 安装package control 菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不 ...

  5. Windows程序设计2(消息机制、菜单)

    一 .小记; PostQuitMessage(0); 产生WM_QUIT消息给进程队列,且立即返回,同时使得消息循环退出,使得进程终止.(其实它通过PostMessage(hWnd,WM_QUIT,0 ...

  6. Android(java)学习笔记181:多媒体之图片画画板案例

    1.首先我们编写布局文件activity_main.xml如下: <RelativeLayout xmlns:android="http://schemas.android.com/a ...

  7. dnsquery - 使用解析程序查询域名服务器

    SYNOPSIS(总览) dnsquery [-n nameserver ] [-t type ] [-c class ] [-r retry ] [-p period ] [-d ] [-s ] [ ...

  8. 使用python编写的简单远程管理软件

    因为用户可以选择是否同意被控制,所以并不算是木马. 使用python3.7,spyder,在windows 10 开发. client为控制端,server为被控端. 参考 mygithub http ...

  9. MySQL-07 日志管理

    学习目标 MySQL日志 二进制日志 错误日志 查询通用日志 慢查询日志 MySQL日志 MySQL日志分为四类,说明如下: 错误日志:记录MySQL服务的启动.运行或者停止时出现的问题. 查询日志: ...

  10. JavaSE-28 hashCode()方法、equals()方法和==相关概念

    概述 Java中,Object类是所有类的基类:如果一个类没有明确继承其他已定义的类,则默认继承Object类. Object类提供了以下方法,对于其他方法,请参考前期专题描述. hashCode() ...