Submission
Status:
-----
Subtask/Task Score:
0/100
Score: 0
User: Quinruj
Problemset: ชั้นหนังสือ
Language: cpp
Time: 0.030 second
Submitted On: 2025-09-27 22:06:07
#include <bits/stdc++.h>
#define pii pair<string,int>
using namespace std;
int cur_col,row,m,col,track;
vector<vector<char>> grid;
vector<pii> v;
void build(){
for (int i = 0;i<v[track].second;i++,cur_col++){
if (v[track].first.size() >= row) continue;
if (cur_col%2 == 0){
for (int j = 0;j<v[track].first.size();j++){
grid[j][cur_col] = v[track].first[j];
}
}else {
for (int j = row-1,pos = 0;j>=row-v[track].first.size()&&pos < v[track].first.size();j--,pos++){
grid[j][cur_col] = v[track].first[pos];
}
}
}
track++;
}
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;
v.emplace_back(s,k);
}
grid.resize(row,vector<char> (col,'.'));
sort(v.begin(),v.end());
for (int i = 0;i<m;i++) build();
//head_tail();
for (int i = 0;i<row;i++){
for (int j = 0;j<col;j++){
cout << '|' << grid[i][j] << '|';
}
cout << '\n';
}
//head_tail();
}