Cod sursa(job #276963)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 11 martie 2009 13:58:06
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
#include<algorithm>
#include<string.h>
#define MAXN 40000

using namespace std;

char s[MAXN][18];
int i,j,n,m;
int ind[MAXN];

bool cmp(const int &a,const int &b)
{
    return strcmp(s[a],s[b]);
}

int main(void)
{
    freopen("restante.in","r",stdin);
    freopen("restante.out","w",stdout);
    scanf("%d\n", &n);
    for(i = 1; i <= n; i++)
    {
        scanf("%s", s[i]);
        m = strlen(s[i]);
        sort( s[i], s[i]+m);
        ind[i] = i;
    }
    sort(ind + 1, ind + n + 1, cmp);

    int nr = 0;
    for(i = 1; i <= n; i++)
        printf("%s\n", s[ind[i]]);

    for (i = 2; i < n; i++)
        if (strcmp(s[ind[i]], s[ind[i-1]]) && strcmp(s[ind[i]], s[ind[i+1]]))
            nr++;

    if (strcmp(s[ind[1]], s[ind[2]])) nr++;
    if (strcmp(s[ind[n-1]], s[ind[n]])) nr++;

    printf("%d\n", nr);
    return 0;
}