Submission

Status:
PPPPP

Score: 100

User: Sense143

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

Language: cpp

Time: 0.015 second

Submitted On: 2024-09-25 14:24:24

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
int main(){
    ios::sync_with_stdio(false); cin.tie(0);
    int n,m; cin >> n >> m;
    int sum = 0;
    vector<string> s;
    for(int i=0;i<m;i++){
        int temp; cin >> temp;
        string v; cin >> v;
        for(int j=0;j<temp;j++){
            s.push_back(v);
        }
        sum += temp;
    }
    for(int i=0;i<=sum*2;i++){
        if(i%2 == 0){
            cout << '+';
        }
        else{
            cout << '-';
        }
    }
    cout << endl;
    sort(s.begin(), s.end());
    for(int i=0;i<s.size();i++){
        if(i%2 == 1){
            reverse(s[i].begin(), s[i].end());
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<sum;j++){
            if(j%2 == 0){
                cout << '|';
                if(i >= s[j].size()){
                    cout << '.';
                }
                else{
                    cout << s[j][i];
                }
            }
            else{
                cout << '|';
                if(i < n - s[j].size()){
                    cout << '.';
                }
                else{
                    cout << s[j][i - n + s[j].size()];
                }
            }
            if(j == sum-1){
                cout << '|';
            }
        }
        cout << endl;
    }
    for(int i=0;i<=sum*2;i++){
        if(i%2 == 0){
            cout << '+';
        }
        else{
            cout << '-';
        }
    }
}