Pagini recente » Cod sursa (job #1779185) | Cod sursa (job #313683) | Cod sursa (job #3147085) | Cod sursa (job #2392665) | Cod sursa (job #648585)
Cod sursa(job #648585)
#include<stdio.h>
#include<assert.h>
#include<algorithm>
using namespace std;
int n,sol,d1[30],d[220];
char c[220][22];
void read()
{
assert(freopen("text.in","r",stdin)!=NULL);
char t;
int state=0;
n=1;
while(scanf("%c",&t)!=EOF)
{
if(t=='\n' || t==' ')
state=1;
else
{
if(state==0)
c[n][++c[n][0]]=t;
else
{
state=0;
c[++n][++c[n][0]]=t;
}
}
}
}
void solve()
{
int i;
for(i=n;i>0;--i)
{
d[i]=d1[c[i][c[i][0]]-'a']+1;
d1[c[i][1]-'a']=d[i];
sol=max(sol,d[i]);
}
}
void write()
{
assert(freopen("text.out","w",stdout)!=NULL);
char t=0;
int i,j;
printf("%d\n%d\n",n,n-sol);
for(i=1;i<=n;++i)
{
if(t==c[i][1] || t==0)
if(d[i]==sol)
{
for(j=1;j<=c[i][0];++j)
printf("%c",c[i][j]);
printf("\n");
--sol;
t=c[i][c[i][0]];
}
}
}
int main()
{
read();
solve();
write();
return 0;
}