Pagini recente » Cod sursa (job #153629) | Cod sursa (job #2798166) | Cod sursa (job #2419430) | Cod sursa (job #1619355) | Cod sursa (job #128096)
Cod sursa(job #128096)
#include <fstream.h>
#include <string.h>
int n;
char mat[36010][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=1;j<n-1;j++)
if (strcmp(mat[j],mat[j-1])!=0 && strcmp (mat[j],mat[j+1])!=0)
nr++;
if (n>2){
nr+=strcmp(mat[0],mat[1]);
nr+=strcmp(mat[n-1],mat[n-2]);
}
else
nr+=strcmp(mat[0],mat[1]);
}
int main()
{
citire();
numar();
fout<<nr<<"\n";
fout.close();
return 0;
}