【HDOJ6330】Visual Cube(模拟)
题意:

思路:

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(模拟)的更多相关文章
- HDU 多校对抗第三场 L Visual Cube
Problem L. Visual Cube Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java ...
- Problem L. Visual Cube(杭电多校2018年第三场+模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330 题目: 题意:给你长宽高,让你画出一个正方体. 思路:模拟即可,湘潭邀请赛热身赛原题,不过比那个 ...
- (2018 Multi-University Training Contest 3)Problem L. Visual Cube
//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330//题目大意:按照一定格式画出一个 a×b×c 的长方体. #include <b ...
- HDU6330-2018ACM暑假多校联合训练Problem L. Visual Cube
就是画个图啦 分三个平面去画orz #include <iostream> #include <cmath> #include <cstring> #include ...
- Hdu-5983 2016ACM/ICPC亚洲区青岛站 B.Pocket Cube 模拟
题面 题意:给你一个2*2的魔方,给你每个面每个小块的颜色,一共24个,然后问你能否在一步之内还原. 题解:手动在纸上画,推出每种变化对应的置换,显然,一共有6种,而且可以当成3种,(具体哪3种,就是 ...
- HDU 6330--Visual Cube(构造,计算)
Visual Cube 将这个立方体分块,分成上中下三个部分,利用长宽高计算行列,最后输出即可. 每个部分都分成奇偶行来输出,总共有\(2*(b+c)+1\)行,共\(2*(a+b)+1\)列.设当前 ...
- HDU 6330.Problem L. Visual Cube-模拟到上天-输出立方体 (2018 Multi-University Training Contest 3 1012)
6330.Problem L. Visual Cube 这个题就是输出立方体.当时写完怎么都不过,后来输出b<c的情况,发现这里写挫了,判断失误.加了点东西就过了,mdzz... 代码: //1 ...
- 2018 HDU多校第三场赛后补题
2018 HDU多校第三场赛后补题 从易到难来写吧,其中题意有些直接摘了Claris的,数据范围是就不标了. 如果需要可以去hdu题库里找.题号是6319 - 6331. L. Visual Cube ...
- 2018 Multi-University Training Contest 3 杭电多校第三场
躺了几天 终于记得来填坑了 1001 Ascending Rating (hdoj 6319) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6319 ...
随机推荐
- Git之远程项目克隆到本地配置
远程代码克隆到本地工作区,需要进行简单的配置,用于识别身份 1.git config --global user.name [设置用户名,你的github用户名] 2.git config -- ...
- 初次使用引用外部js心得
在外部引用自己编辑的js时建立链接写在头部中是会出错的,如下图 错误如下: 这是一个是我初学时遇到的一个算是低级错误吧,看到这个错误,我以为的是我引用的js中编辑的代码是不是哪里写错了,但是看了好多遍 ...
- ES6学习笔记(9)----Symbol
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ Symbol1.symbol:Symbol是javascript的第七种原始数据类型,代表独一无 ...
- js获取服务器生成并返回客户端呈现给客户的控件id的方法
var repeaterId = '<%=rpData.ClientID %>'; //Repeater的客户端IDvar rows = <%=rpData.Items.Count% ...
- 【整理】treeGrid 树形表格
treeGrid 树形表格 https://fly.layui.com/extend/treeGrid/
- chrome ubuntu启动不了
安装好后,点击图标没反应 用命令行运行chrome并显示log:google-chrome --enable-logging=stderr --log-level=4 报错如下: 解决:安装更高版本的 ...
- syntax error : missing ';' before identifier
原文解决方案 #include "string.h" #include "stdafx.h" #include "Chapter 01 MyVersi ...
- 暑假集训 || bitset
bitset是一个存储0和1的数组 可以快速的把两个bitset的每一位对应做与或啥的 在可以用01串表示某个状态的时候可以应用到它 就是有两个集合,求它们的交集 bitset <> a, ...
- java文件上传,自动判断文件类型
public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47&quo ...
- 清除oracle归档日志
清除oracle归档日志 1. 连接oracle报如下错误 ORA-00257: archiver error. Connect internal only, until freed 产生原因:出现O ...