题意:

思路:

 import java.util.Scanner;

 public class Main {
public static void main(String args[]) {
Scanner la = new Scanner(System.in);
int S = la.nextInt();
while(S != 0) {
--S;
int a = la.nextInt(), b = la.nextInt(), c = la.nextInt();
int A = 2 * a + 1, B = 2 * b + 1, C = 2 * c + 1;
int x = A + B - 1;
int y = C + B - 1;
String JK[][] = new String[1000][1000]; String out = "+";
String nextout = "-";
String line = "|";
String linenext = ".";
Boolean flagout = true;
Boolean flagline = true;
for (int n = B - 1; n < y; n++) {
flagout = true;
if (flagline) {
for (int m = 0; m < A; m++) { if (flagout) {
JK[n][m] = out;
flagout = false;
} else {
flagout = true;
JK[n][m] = nextout;
}
}
flagline = false;
} else {
for (int m = 0; m < A; m++) { if (flagout) {
JK[n][m] = line;
flagout = false;
} else {
flagout = true;
JK[n][m] = linenext;
}
}
flagline = true;
}
}
// 上面
int num = B - 1;
out = "+";
nextout = "-";
line = "/";
linenext = ".";
flagout = true;
flagline = true;
for(int i=B-2;i>=0;i--) {
for(int w=B-2;w>=0;w--) {
JK[i][w]=".";
JK[y-(i+1)][x-(w+1)]=".";
}
}
for (int n = 0; n < B-1; n++) {
int i=B-1-n-1;
flagout = true;
if (flagline) {
for (int m = 0; m < A; m++) {
if (flagout) {
//System.out.println("m="+m+",i="+i);
JK[n][m+i+1] = out;
flagout = false;
} else {
flagout = true;
//System.out.println("m="+m+",i="+i);
JK[n][m+i+1] = nextout;
}
}
flagline = false;
} else {
for (int m = 0; m < A; m++) { if (flagout) {
JK[n][m+i+1] = line;
flagout = false;
} else {
flagout = true;
JK[n][m+i+1] = linenext;
}
}
flagline = true;
}
}
// 右面
num = B - 1;
out = "+";
nextout = "|";
line = "/";
linenext = ".";
flagout = true;
flagline = true; for (int n = 0; n < B-1; n++) {
//System.out.println(",n="+n);
flagout = true;
if (flagline) {
for (int m =0; m < y-B+1; m++) {
if (flagout) {
//System.out.println("m="+m+",n="+n);
JK[m+n][x-1-n] = out;
flagout = false;
} else {
flagout = true;
//System.out.println("m="+m+",n="+n);
JK[m+n][x-1-n] = nextout;
}
}
flagline = false;
} else {
for (int m = 0; m < y-B+1; m++) { if (flagout) {
//System.out.println("m="+m+",n="+n);
JK[m+n][x-1-n] = line;
flagout = false;
} else {
flagout = true;
//System.out.println("m="+m+",n="+n);
JK[m+n][x-1-n] = linenext;
}
}
flagline = true;
}
} for(int m=0;m<y;m++) {
for(int n=0;n<x;n++) {
System.out.print(JK[m][n]);
}System.out.println();
} }
}}

【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. Android如何用阿里云的API进行身份证识别

    准备工作:在libs下添加 alicloud-Android-apigateway-sdk-1.0.1.jar,commons-codec-1.10-1.jar 在build.gradle添加  co ...

  2. TCAM 与CAM

    CAM是Content Addressable Memory的缩写,即"内容寻址存储器"的意思,它是在传统的存储技术的基础上实现的联想记忆存储器,关于CAM的基本操作有三种: 1) ...

  3. FPGA内部RAM的初始化

    Altera的RAM初始化文件格式是mif和hex. QuartusII自带的RAM初始化工具很方便产生初始化文件. Xilinx的RAM初始化文件格式是coe, 在vivado中软件会将coe文件变 ...

  4. [Tunny]Git常用命令与入门

    [黄映焜/Tunny,20140709] Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制..g ...

  5. 全文索引Elasticsearch,Solr,Lucene

    最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务 ...

  6. Selenium私房菜系列1 -- Selenium简介

    一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...

  7. innerHTML的性能问题

    看到一遍文章When innerHTML isn’t Fast Enough,反应了innerHTML在操作量大了以后的性能下降的问题. 并且给出了一个replaceHTML的函数 function  ...

  8. 30行代码消费腾讯人工智能开放平台提供的自然语言处理API

    腾讯人工智能AI开放平台上提供了很多免费的人工智能API,开发人员只需要一个QQ号就可以登录进去使用. 腾讯人工智能AI开放平台的地址:https://ai.qq.com/ 里面的好东西很多,以自然语 ...

  9. TebsorFlow低阶API(五)—— 保存和恢复

    简介 tf.train.Saver 类提供了保存和恢复模型的方法.通过 tf.saved_model.simple_save 函数可以轻松地保存适合投入使用的模型.Estimator会自动保存和恢复 ...

  10. SVM-支持向量机 学习 1

    参考 https://zhuanlan.zhihu.com/p/42334376 https://blog.csdn.net/liugan528/article/details/79448379 ht ...