Submission
Status:
P----
Subtask/Task Score:
20/100
Score: 20
User: purihorharin
Problemset: ชั้นหนังสือ
Language: c
Time: 0.002 second
Submitted On: 2026-03-19 19:15:43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
int amount;
char name[31];
} st;
inline const st* reinterp_cast(const void* a) {
return (const st*)a;
}
int cmp (const void* a, const void* b) {
return strcmp(reinterp_cast(a)->name, reinterp_cast(b)->name);
}
int main () {
int l, n;
scanf("%d%d", &l, &n);
st arr[n];
for (int i = 0; i < n; i++) {
scanf("%d %s", &arr[i].amount, arr[i].name);
}
qsort(arr, n, sizeof(st), cmp);
putchar('+');
for (int i = 0; i < n; i++) {
putchar('-');
putchar('+');
}
putchar('\n');
for (int i = 0; i < l; i++) {
putchar('|');
for (int j = 0; j < n; j++) {
putchar(arr[j].name[(j & 1) ? l - i - 1 : i]);
putchar('|');
}
putchar('\n');
}
putchar('+');
for (int i = 0; i < n; i++) {
putchar('-');
putchar('+');
}
}