Pagini recente » Cod sursa (job #2855123) | Cod sursa (job #752073) | Cod sursa (job #767454) | Cod sursa (job #1504916) | Cod sursa (job #128101)
Cod sursa(job #128101)
#include <fstream.h>
#include <string.h>
int n;
char mat[36030][30];
int nr;
ifstream fin("restante.in");
ofstream fout("restante.out");
void citire()
{
char b[20];
fin>>n;
fin.getline(b,10);
for (int i=0;i<n;i++)
{
fin.getline (mat[i],20);
}
fin.close();
}
void qsort(char a[])
{
int ok=1,p=strlen(a);
while (ok)
{
ok=0;
p--;
for (int i=0;i<p;i++)
if (a[i]>a[i+1])
{
char aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
ok=1;
}
}
}
void ord()
{
int ok=1,p=n;
while (ok)
{
ok=0;
p--;
for (int i=0;i<p;i++)
if (strcmp(mat[i],mat[i+1])>1)
{
char *p;
strcpy(p,mat[i]);
strcpy(mat[i],mat[i+1]);
strcpy(mat[i+1],p);
ok=1;
}
}
}
void numar()
{
for (int i=0;i<n;i++)
qsort(mat[i]);
ord();
for (int j=0;j<n-1;j++)
if (strcmp (mat[j],mat[j+1])!=0)
nr++;
else
{
while (strcmp(mat[j],mat[j+1])==0)
j++;
j--;
}
}
int main()
{
citire();
numar();
fout<<nr+1<<"\n";
fout.close();
return 0;
}