73 lines
1.3 KiB
Java
73 lines
1.3 KiB
Java
package chelper;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import io.InputReader;
|
|
import io.OutputWriter;
|
|
import misc.GCJSolution;
|
|
import misc.SimpleSavingChelperSolution;
|
|
|
|
|
|
public class TaskA extends GCJSolution {
|
|
|
|
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
|
wrapSolve(testNumber, in, out);
|
|
}
|
|
|
|
@Override
|
|
public void solve(int testNumber) {
|
|
int n = in.nextInt();
|
|
int[] a = in.nextIntArray(n);
|
|
|
|
char[][] map = new char[n * 2][n];
|
|
for (int i = 0; i < n * 2; i++) {
|
|
Arrays.fill(map[i], '.');
|
|
}
|
|
|
|
int maxRowUsed = 0;
|
|
boolean ok = true;
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
int src = i;
|
|
int dest = 0;
|
|
|
|
for (; dest < n; dest++) {
|
|
if (a[dest] > 0) {
|
|
a[dest]--;
|
|
break;
|
|
}
|
|
}
|
|
|
|
int y = 0;
|
|
while (src != dest) {
|
|
if (src == 0 || src == n - 1) {
|
|
ok = false;
|
|
}
|
|
|
|
boolean dir = src < dest;
|
|
map[y][src] = dir ? '\\' : '/';
|
|
src += dir ? 1 : -1;
|
|
|
|
y++;
|
|
|
|
maxRowUsed = Math.max(maxRowUsed, y);
|
|
}
|
|
}
|
|
|
|
maxRowUsed++;
|
|
|
|
if (!ok) {
|
|
out.println("IMPOSSIBLE");
|
|
return;
|
|
}
|
|
|
|
out.println(maxRowUsed);
|
|
for (int i = 0; i < maxRowUsed; i++) {
|
|
for (int j = 0; j < n; j++) {
|
|
out.print(map[i][j]);
|
|
}
|
|
out.println();
|
|
}
|
|
}
|
|
}
|