Submission
Status:
PPPPP
Subtask/Task Score:
100/100
Score: 100
User: theem1502
Problemset: หินงอก
Language: c
Time: 0.001 second
Submitted On: 2025-09-09 16:52:05
#include <stdio.h>
#include <stdlib.h>
int main() {
int num;
scanf("%d", &num);
int *thearray = malloc(num * sizeof(int));
for (int i = 0; i < num ; i++) {
scanf("%d", &thearray[i]);
}
int maxdepth = 0;
for (int i = 0; i < num; i++) {
if (thearray[i] > maxdepth) {
maxdepth = thearray[i];
}
}
int thesum = 0;
for (int i = 0; i < num; i++) {
thesum += thearray[i];
}
char **thegiant = malloc(maxdepth * sizeof(char*));
for (int i = 0; i < maxdepth; i++) {
thegiant[i] = malloc((thesum*2) * sizeof(char));
}
for (int i = 0; i < maxdepth; i++) {
for (int j = 0; j < thesum * 2; j++) {
thegiant[i][j] = ' ';
}
}
int startingindex = 0;
for (int i = 0; i < num; i++) {
int currentnum = thearray[i];
int randomcount = 0;
for (int j = startingindex; j < currentnum+startingindex; j++) {
thegiant[randomcount++][j] = '\\';
}
for (int j = startingindex + currentnum; j < (2 * currentnum) + startingindex; j++) {
thegiant[--randomcount][j] = '/';
}
startingindex += thearray[i] * 2;
}
for (int k = 0; k < maxdepth; k++) {
for (int j = 0; j < thesum * 2; j++) {
printf("%c", thegiant[k][j]);
}
printf("\n");
}
}