Submission

Status:

-----

Subtask/Task Score:

0/100

Score: 0

User: Quinruj

Problemset: ชั้นหนังสือ

Language: cpp

Time: 0.031 second

Submitted On: 2025-09-27 22:00:01

#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 (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();
}