Pagini recente » Cod sursa (job #905894) | Cod sursa (job #126303) | Cod sursa (job #3136096) | Cod sursa (job #518400) | Cod sursa (job #277062)
Cod sursa(job #277062)
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define INPUT "restante.in"
#define OUTPUT "restante.out"
#define NMAX 36001
#define MMAX 17
FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");
long N;
char Str[ NMAX ][ MMAX ];
long Poz[ NMAX ];
inline int cmpS(char _X, char _Y)
{
return _X < _Y;
}
inline int cmpT(long _X, long _Y)
{
if(strcmp(Str[ _X ], Str[ _Y ]) >= 0) return 0;
else
return 1;
}
void readData()
{
fscanf(fin, "%ld", &N);
char c;
long len;
fscanf(fin, "%c", &c);
for(long i = 0; i < N; ++i)
{
fscanf(fin, "%s", &Str[ i ]);
Poz[ i ] = i;
len = strlen(Str[i]);
sort(Str[ i ], Str[ i ] + len, cmpS);
}
}
void solve()
{
long cont = -1;
for(long i = 0; i < N; ++i)
{
++cont;
if( i != N-1)
while( i < N && strcmp(Str[ Poz[ i ] ], Str[ Poz[ i+1]]) == 0)
++i;
}
fprintf(fout, "%ld\n", cont);
}
int main()
{
readData();
sort(Poz, Poz + N, cmpT);
solve();
fclose(fin);
fclose(fout);
return 0;
}