题意:

思路:

 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. iOS开发XML解析

    xml解析主要可以使用CData,libxml2以及NSXMLParser,以下对各个方法给出了相应的例子: 1.CDataXML: 1.1.创建FKBook类 #import <Foundat ...

  2. Netbeans Makefile: recipe for target 'XXX' failed 运行failed(退出值 -1073741511 找不到C/C++库文件,关键字

      今天不知怎么的又出错了 吐血了 找不到NULL new等关键字了   看到知乎上有人和我一个问题,怎么办?很简单卸载了以前的cygwin和netbeans然后重装,我重装时没有把以前的cygwin ...

  3. 如何修改开发板主频--迅为iMX6UL开发板

    平台:iMX6UL开发板           iMX6UL开发板 可以在文件系统中通过命令修改 CPU 运行的主频.如下图所示,使用命令“cat /sys/devices/system/cpu/cpu ...

  4. Comparator.comparing比较排序

    使用外部比较器Comparator进行排序 当我们需要对集合的元素进行排序的时候,可以使用java.util.Comparator 创建一个比较器来进行排序.Comparator接口同样也是一个函数式 ...

  5. 7-Java-C(四平方和)

    题目描述: 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + ...

  6. 关于sigleton模式

    单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是它必须自行向整个系统提供这个实例. 从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中 ...

  7. 环球影城母公司:务必阻止复仇者和 X 战警团聚

    今日导读 去年 12 月,迪士尼宣布收购 21 世纪福克斯后,许多漫威粉丝们马上欢呼:复仇者终于可以和 X 战警团聚了!然而,超级英雄大团圆这个美好景象恐怕不会那么容易实现.就在近日,环球影城母公司— ...

  8. 【转】密码学 :CSP的概念

    转:[密码学]CSP的概念 CSP加密服务提供者(Cryptographic Service Provider)具有一下几个特点: CSP是真正执行密码运算的独立模块 物理上一个CSP由两部分组成:一 ...

  9. CPP-基础:inline

    背景: 在C&C++中 一.inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义. 表达式形式的宏定义一例: #define ExpressionNam ...

  10. Microsoft Windows Server DHCP

    Microsoft Windows Server DHCP DHCP IP地址第一个来源是DHCP服务器,第二个来源是PPP点对点协议(ADSL为PPPOE);DHCP是Dynamic Host Co ...