Submission
Status:
PPPPP
Subtask/Task Score:
100/100
Score: 100
User: kenkong587
Problemset: ชั้นหนังสือ
Language: c
Time: 0.057 second
Submitted On: 2026-09-28 12:26:19
#include <stdio.h>
#include <string.h>
int main(){
int l = 0;
int n = 0;
scanf("%d %d",&l,&n);
int count[n];
char name[n][l + 1];
char boxname[l + 1];
for(int i = 0;i < n;i++){
scanf("%d %s",&count[i],name[i]);
}
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(name[j], name[j+1]) > 0) {
strcpy(boxname, name[j]);
strcpy(name[j], name[j+1]);
strcpy(name[j+1], boxname);
int temp_count = count[j];
count[j] = count[j+1];
count[j+1] = temp_count;
}
}
}
int allcount = 0;
for(int i = 0; i < n; i++){
allcount += count[i];
}
char book[allcount][l + 1];
int k = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < count[i]; j++){
strcpy(book[k], name[i]);
k++;
}
}
printf("+");
for(int i = 0;i < allcount;i++){
printf("-+");
}
printf("\n");
for(int i = 0;i < l;i++){
printf("|");
for(int j = 0;j < allcount;j++){
int len = strlen(book[j]);
if(j % 2 != 0){
if(i < l - len){
printf(".");
}
else{
printf("%c",book[j][l - 1 - i]);
}
}
else{
if(i < len){
printf("%c",book[j][i]);
}
else{
printf(".");
}
}
printf("|");
}
printf("\n");
}
printf("+");
for(int i = 0;i < allcount;i++){
printf("-+");
}
return 0;
}