Pagini recente » Cod sursa (job #1028536) | Cod sursa (job #2855241) | Cod sursa (job #535901) | Cod sursa (job #77921) | Cod sursa (job #306622)
Cod sursa(job #306622)
#include<cstdio>
#include<algorithm>
#include<string.h>
#define maxn 36005
#define maxl 18
using namespace std;
int n,i,k,j;
struct nod
{ char s[maxl];
int p;
} a[maxn];
int fcomp(nod a,nod b)
{ return strcmp(a.s,b.s)<0;
}
int main()
{ freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;++i) { fgets(a[i].s,18,stdin);
k=strlen(a[i].s);
while(a[i].s[k-1]<'a'||a[i].s[k-1]>'z') --k;
a[i].s[k]=0;
std::sort(a[i].s,a[i].s+k);
}
std::sort(a+1,a+n+1,fcomp);
k=n;
for(i=2;i<=n;++i) if(strcmp(a[i].s,a[i-1].s)==0) { a[i].p=1;
a[i-1].p=1;
}
for(i=1;i<=n;++i) k-=a[i].p;
printf("%d\n",k);
for(i=1;i<=n;++i) printf("%s\n",a[i].s);
fclose(stdin);
fclose(stdout);
return 0;
}