Pagini recente » Cod sursa (job #3177674) | Cod sursa (job #1928160) | Cod sursa (job #591984) | Cod sursa (job #2320756) | Cod sursa (job #741403)
Cod sursa(job #741403)
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
typedef struct
{
char miu[16];
} cutzu;
int N;
int a, good = 1, cnt = 1;
cutzu v[36010];
void Citire ()
{
ifstream fin ("restante.in");
fin >> N;
fin >> v[0].miu;
a = strlen (v[0].miu);
sort (v[0].miu, v[0].miu + a);
for (int i = 1; i < N; i++)
{
fin >> v[i].miu;
a = strlen (v[i].miu);
sort (v[i].miu, v[i].miu + a);
}
fin.close ();
}
inline int cmp (cutzu a, cutzu b)
{
int k = strlen (a.miu);
int l = strlen (b.miu);
if (l < k)
{
for (int i = 0; i < l; i++)
{
if (a.miu[i] < b.miu[i]) return 1;
if (b.miu[i] < a.miu[i]) return 0;
}
return 1;
}
else
{
for (int i = 0; i < k; i++)
{
if (a.miu[i] < b.miu[i]) return 1;
if (b.miu[i] < a.miu[i]) return 0;
}
return 0;
}
}
void Business ()
{
sort (v, v + N, cmp);
for (int i = 1; i < N; i++)
{
if (!strcmp (v[i].miu, v[i - 1].miu))
{
if (good) cnt--;
good = 0;
}
else
{
good = 1;
cnt++;
}
}
}
void Scriere ()
{
ofstream fout ("restante.out");
fout << cnt;
fout.close ();
}
int main ()
{
Citire ();
Business ();
Scriere ();
return 0;
}