Submission
Status:
[PP-SSSSSSSSSSSSSSS]
Score: 0
User: FotoFatTurtle
Problemset: การจัดแนวข้อความ
Language: cpp
Time: 0.002 second
Submitted On: 2025-04-01 23:50:47
#include <bits/stdc++.h>
using namespace std;
#define f first
#define s second
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int num,siz;
cin>>num>>siz;
vector<string> v;
string s;
vector<int> vent;
for(int i=0;i<num;i++)
{
cin>>s;
v.push_back(s);
}
int temp=siz,temu,nub,hang,teng;
for(int i=0;i<num;i++)
{
temu=siz;
nub=0;
teng=-1;
for(int j=i;j<num;j++)
{
if(temu>=v[j].length())
{
//cout<<temu<<" "<<v[j].length()<<"\n";
temu-=v[j].length();
nub+=v[j].length();
teng++;
}
else
{
break;
}
temu--;
}
hang=siz-nub;
int nh=hang,ler;
//cout<<teng;
if(i+teng==num-1)
{
for(int o=i;o<num;o++)
cout<<v[o]<<" ";
break;
}
if(teng==0)
{
cout<<v[i];
for(int o=0;o<hang;o++)
cout<<" ";
cout<<"\n";
continue;
}
ler=hang%teng;
//cout << i << "-> "<<v[i]<<" "<<teng;
while(nh>0)
{
if(ler==0)
{
nh-=hang/teng;
vent.push_back(hang/teng);
}
else
{
ler--;
nh-=hang/teng;
nh--;
vent.push_back(hang/teng+1);
}
}
cout<<v[i];
nub=i;
for(int k=0;k<vent.size();k++)
{
for(int o=0;o<vent[k];o++)
cout<<" ";
nub++;
cout<<v[nub];
}
i=nub;
cout<<"\n";
vent.clear();
//cout<<hang<<"\n";
}
}