Submission
Status:
[PPPPPPPPP]
Score: 100
User: Spongebob
Problemset: ภูเขา
Language: c
Time: 0.002 second
Submitted On: 2024-10-07 20:51:06
/*
#include <stdio.h>
int main () {
//w = h*2
int N, col = 0, max_height, offset = 0, y;
scanf("%d", &N);
int mountains_height[N];
if (N >= 1) {
scanf("%d", &mountains_height[0]);
col += mountains_height[0] * 2;
max_height = mountains_height[0];
}
for (int i = 1; i < N; i++) {
scanf("%d", &mountains_height[i]);
col += mountains_height[i] * 2;
max_height = mountains_height[i] > max_height ? mountains_height[i] : max_height;
}
// initail grid
char grid[max_height][col+1];
// set default value of the grid
for (int i = 0; i < max_height; i++) {
for (int j = 0; j < col; j++) {
grid[i][j] = '.';
}
grid[i][col] = '\0';
}
// pot graph
for (int i = 0; i < N; i++) {
for (int j = 0; j < mountains_height[i]; j++) {
y = max_height - j - 1;
grid[y][j + offset] = '/';
y = j + (max_height - mountains_height[i]);
grid[y][j + offset + mountains_height[i]] = '\\';
}
offset += mountains_height[i] * 2;
}
// print out the grid
for (int i = 0; i < max_height; i++) {
printf("%s\n", grid[i]);
}
return 0;
}
*/
#include <stdio.h>
int main () {
int N, h_max, times;
scanf("%d", &N);
int h_mount[N];
if (N >= 1) {
scanf("%d", &h_mount[0]);
h_max = h_mount[0];
}
for (int i = 1; i < N; i++) {
scanf("%d", &h_mount[i]);
h_max = h_mount[i] > h_max ? h_mount[i] : h_max;
}
for (int i = 0; i < h_max; i++) {
for (int j = 0; j < N; j++) {
// outer . ;
times = (h_mount[j] - 1 - i + h_max - h_mount[j] > h_mount[j]) ? h_mount[j] : (h_mount[j] - 1 - i + h_max - h_mount[j]);
for (int k = 0; k < times; k++) {
printf(".");
}
// /
if ((h_mount[j]-(h_max - i)) >= 0) {
printf("/");
}
// inner .
for (int k = 0; k < (h_mount[j]-(h_max - i)) * 2; k++) {
printf(".");
}
// \ ;
if ((h_mount[j]-(h_max - i)) >= 0) {
printf("\\");
}
// outer .
for (int k = 0; k < times; k++) {
printf(".");
}
}
printf("\n");
}
return 0;
}