Pagini recente » Monitorul de evaluare | Diferente pentru monthly-2014/runda-1/solutii intre reviziile 10 si 15 | Rating Mark Neagu (mark.neagu) | Istoria paginii utilizator/futuristul | Cod sursa (job #322969)
Cod sursa(job #322969)
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
FILE *f,*s;
int n,i,l,cate;
struct cuvinte
{
char x[20];
};
cuvinte a[36005];
int cmp(cuvinte v1, cuvinte v2)
{
return strcmp(v1.x, v2.x) == -1;
}
int main()
{
f=fopen("restante.in","r");
s=fopen("restante.out","w");
fscanf(f,"%d\n",&n);
for(i=1;i<=n;i++)
{
fscanf(f,"%s\n",&a[i].x);
l=strlen(a[i].x);
sort(a[i].x,a[i].x+l);
}
sort(a+1,a+n+1,cmp);
cate=0;
for(i=1;i<=n;i++)
{
if(strcmp(a[i].x, a[i+1].x)!=0&&strcmp(a[i].x, a[i-1].x)!=0)
cate++;
}
fprintf(s,"%d",cate);
fclose(s);
return 0;
}