Cod sursa(job #1960988)
Utilizator | Data | 10 aprilie 2017 20:17:27 | |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.86 kb |
#include <iostream>
#include <cstdio>
#include <cstring>
#include <fstream>
using namespace std;
char s[1010];
string cuvant[128];
int main()
{
ifstream fin("text4.in");
ofstream fout("text4.out");
int m,l,c,i,j,k,lc,luc,spatii,nrspatiimari;
FILE *f=fopen("text4.in","r");
fscanf(f,"%d\n",&m);
while(1)
{
fgets(s,1000,f);
bool este=0,spatiu;
if(s[strlen(s)-1]=='\n')s[strlen(s)-1]=0,este=1;
if(!este)break;
i=0;j=0;
while(1)
{
l=-1;lc=0;c=0;
while(l<m&&s[i])
{
luc=0;
while(s[i]!=' '&&s[i])
i++,lc++,luc++;
i++;
if(luc)l+=luc+1,c++;
}
i-=2;
if(l<m)
{
fout<<s+j<<"\n";
break;
}
else
{
if(l>m)i-=luc+1,lc-=luc,c--;
spatii=(m-lc)/(c-1);
nrspatiimari=(m-lc)%(c-1);
for(j=j;j<=i;j++)
{
spatiu=0;
while(s[j]==' ')
j++,spatiu++;
if(spatiu)
{
j--;
if(nrspatiimari>0)
for(k=1;k<=spatii+1;k++)
fout<<" ";
else
for(k=1;k<=spatii;k++)
fout<<" ";
nrspatiimari--;
}
else fout<<s[j];
}
fout<<"\n";
i++;
while(s[i]==' ')
i++;
j=i;
}
}
}
return 0;
}