Pagini recente » Cod sursa (job #2441279) | Cod sursa (job #2909940) | Cod sursa (job #152816) | Cod sursa (job #2003849) | Cod sursa (job #634840)
Cod sursa(job #634840)
#include <fstream>
#include <string>
using namespace std;
ifstream fin("text3.in");
ofstream fout("text3.out");
string a[1000];
int L[1000];
int t[1000];
void Write(int);
int main()
{
int n = 0, i = 0;
while ( fin >> a[n] )
n++;
fout << n << '\n';
for ( int i = 0; i < n; ++i )
{
L[i] = 1;
for ( int j = 0; j < i; ++j )
{
int k = a[j].size();
if ( a[j][k-1] == a[i][0] &&
L[i] < L[j] + 1 )
{
L[i] = L[j] + 1;
t[i] = j;
}
}
}
int maxim = 0;
int p = 0;
for (int i = 0; i < n; ++i )
if ( L[i] > maxim )
{
maxim = L[i];
p = i;
}
fout << n - maxim << '\n';
Write(p);
fin.close();
fout.close();
return 0;
}
void Write(int i)
{
if ( !i ) return;
Write(t[i]);
fout << a[i] << '\n';
}