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 ;
}