Submission

Status:

PPPPP

Subtask/Task Score:

100/100

Score: 100

User: Sol2468

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

Language: cpp

Time: 0.009 second

Submitted On: 2026-10-14 14:16:13

#include <bits/stdc++.h>
using namespace std ;

int L,N ;
map<string,int> arr ;

int main(){
    ios_base::sync_with_stdio(false) ;
    cin.tie(NULL) ;
    vector<string> arr2 ;
    int sum=0 ;
    cin >> L >> N ;
    for(int i=0 ; i<N ; i++){
        int in1 ;
        string in2 ;
        cin >> in1 >> in2 ;
        arr[in2]+=in1 ;
        sum+=in1 ;
    }
    string temp5 = "" ;
    for(int i=0 ; i<sum+sum+1 ; i++){
        if(i%2==0) temp5+="+" ;
        else temp5+="-" ;
    }
    cout << temp5 << '\n' ;
    int k=0 ;
    for(auto &[key,value] : arr){
        for(int i=0 ; i<value ; i++){
            if(k%2==0){
                string temp(L-key.size(),'.') ;
                arr2.push_back(key+temp) ;
            }else{
                string temp(L-key.size(),'.') ;
                string temp2 = key ;
                reverse(temp2.begin(),temp2.end()) ;
                arr2.push_back(temp+temp2) ;
            }
            k++ ;
        }
    }
    // for(string i : arr2){
    //     cout << i << "\n" ;
    // }
    vector<string> arr3 ;
    for(int i=0 ; i<arr2[0].size() ; i++){
        string temp="" ;
        for(int j=0 ; j<arr2.size() ; j++){
            if(j==0) temp+="|" ;
            temp+=arr2[j][i] ;
            temp+='|' ;
        }
        arr3.push_back(temp) ;
    }
    for(string i : arr3){
        cout << i << "\n" ;
    }
    cout << temp5 ;
    return 0 ;
}