import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
プログラミングのお題スレ Part13
//mevius.5ch.net/test/read.cgi/tech/1549160513/441
441 名前:デフォルトの名無しさん[sage] 投稿日:2019/02/28(木) 21:58:37.50 ID:dSln4xk/
お題
四角形の羅列を、'#'と'.'を使った表現から罫線を使った表現に変換せよ
(例)等幅フォントで見てください
#
↓
┌┬┐
├┼┤
└┴┘
#..###.####.
..#.....##.#
#.#....#.#.#
....#.#...#.
┌┬┐ ┌┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┐
├┼┤ ├┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┤
└┴┘ ┌┬┼┴┴┴┴┴┘ └┴┼┼┼┼┼┴┼┬┐
├┼┤ ├┼┼┼┤ ├┼┤
┌┬┐ ├┼┤ ┌┬┼┴┼┼┤ ├┼┤
├┼┤ ├┼┤ ├┼┤ ├┼┤ ├┼┤
└┴┘ └┴┘ ┌┬┐ ┌┬┼┴┘ └┴┼┬┼┴┘
├┼┤ ├┼┤ ├┼┤
└┴┘ └┴┘ └┴┘
*/
class Ideone
{
public static void main
(String[] args
) {
try (Scanner in
= new Scanner
(System.
in)) {
ArrayList<String> list = new ArrayList<>();
while (in.hasNextLine())
{
if (line.equals(""))
{
show(list);
list.clear();
continue;
}
list.add(line);
}
}
}
static String STR
= " ××└×│┌├×┘─┴┐┤┬┼"; static void show(List<String> input)
{
if (input.isEmpty()) return;
int w = input.get(0).length();
int h = input.size();
for (int i = 1; i < h; i++)
int[][] data = new int[h * 2 + 1][w * 2 + 1];
for(int y = 0; y < h; y++)
{
for(int x = 0; x < w; x++)
{
if (input.get(y).charAt(x) == '#')
{
int px = x * 2;
int py = y * 2;
data[py + 0][px + 0] |= 6;
data[py + 0][px + 1] |= 14;
data[py + 0][px + 2] |= 12;
data[py + 1][px + 0] |= 7;
data[py + 1][px + 1] |= 15;
data[py + 1][px + 2] |= 13;
data[py + 2][px + 0] |= 3;
data[py + 2][px + 1] |= 11;
data[py + 2][px + 2] |= 9;
}
}
}
StringBuilder sb = new StringBuilder();
for (int y = 0; y < data.length; y++)
{
for (int x = 0; x < data[y].length; x++)
sb.append(STR.charAt(data[y][x]));
sb.
append(System.
lineSeparator()); }
sb.append("----------------------------------------");
}
}