Submission
Status:
x--xx
Subtask/Task Score:
0/100
Score: 0
User: Quinruj
Problemset: ชั้นหนังสือ
Language: cpp
Time: 0.004 second
Submitted On: 2025-09-27 21:13:31
#include <bits/stdc++.h>
#define pii pair<int,string>
using namespace std;
int cur_col,track,row,m,col,re;
vector<vector<char>> grid;
vector<pii> odd,even; // track
void build(){
if (track < even.size()){
for (int i = 0;i<even[track].first;i++,cur_col++){
if (cur_col%2 == 0){
for (int j = 0;j<even[track].second.size();j++){
grid[j][cur_col] = even[track].second[j];
}
}else {
for (int j = row-1,pos = 0;j>=row-even[track].second.size();j--,pos++){
grid[j][cur_col] = even[track].second[pos];
}
}
}
track++;
}else {
for (int i = 0;i<odd[re].first;i++,cur_col++){
if (cur_col%2 == 0){
for (int j = 0;j<odd[re].second.size();j++){
grid[j][cur_col] = odd[re].second[j];
}
}else {
for (int j = row-1,pos = 0;j>=row-odd[re].second.size();j--,pos++){
grid[j][cur_col] = odd[re].second[pos];
}
}
}
re++;
}
}
void head_tail(){
cout << '+';
for (int i = 0;i<col;i++) cout << "-+";
cout << '\n';
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>row>>m;
for (int i = 0;i<m;i++){
int k;string s;cin>>k>>s;
col += k;
if (i%2 == 0) even.emplace_back(k,s);
else odd.emplace_back(k,s);
}
grid.resize(row,vector<char> (col,'.'));
head_tail();
for (int i = 0;i<m;i++) build();
for (int i = 0;i<row;i++){
for (int j = 0;j<col;j++){
cout << '|' << grid[i][j] << '|';
}
cout << '\n';
}
head_tail();
}