题意:

思路:

 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. 02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示

    02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示 2017/8/18 13:53 版本:V1.0 开发板:SC5806(全志R58平台) SDK:android4.4.4 ...

  2. SQL 导出csv

    https://jingyan.baidu.com/album/4b07be3c466b5d48b280f37f.html?picindex=9

  3. vue项目中常用的一些公共方法

    //校验手机号码 export function isSpecialPhone(num) { return /^1[2,3,4,5,7,8]\d{9}$/.test(num) } //校验中英文姓名 ...

  4. tomcat 的log4j配置问题

    #log4j.rootLogger=DEBUG,stdout,filelog4j.rootLogger=ERROR,stdout,filelog4j.appender.stdout=org.apach ...

  5. 学习Python的一些Tips

    0. Python安装 官网提供多种方式,一般Windows下直接安装exe即可:Linux下基本上自带python:另外也提供源码,也可自行编译: 若安装后无法使用,则检查一下环境变量是否设置正确. ...

  6. (转)Spring提供的CharacterEncoding和OpenSessionInView功能

    http://blog.csdn.net/yerenyuan_pku/article/details/52902282 前面我们以一种更加优雅的方式集成了Spring4.2.5+Hibernate4. ...

  7. echo - 显示一行文本

    SYNOPSIS(总览) echo[OPTION]... [STRING]... DESCRIPTION(描述) 允许在标准输出上显示STRING(s). -n 不输出行尾的换行符. -e 允许对下面 ...

  8. vue render {} 对象 说明文档

    Vue学习笔记进阶篇——Render函数 http://www.mamicode.com/info-detail-1906336.html 深入data object参数 有一件事要注意:正如在模板语 ...

  9. DLL动态库多次加载问题

    原因涉及DLL加载和运行机制,主要有两点:1)DLL动态链接库无法独立运行,必须由一个应用程序进程加载到进程空间后才能使用.加载DLL的进程称为宿主进程.被加载的DLL属于宿主进程,不属于宿主进程内某 ...

  10. VR技术在数据中心3D机房中的应用 (下)

    VR技术在数据中心3D机房中的应用 (下) 前面给大家简单科普了一下VR的硬件设备以及VR在各个领域的应用,是不是觉得非常高大上?千言万语概括成一句话,VR能给用户带来前所未有的沉浸感和交互方式,让人 ...