Cod sursa(job #272402)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 6 martie 2009 23:16:08
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
#define Nmax 4100
#define Mmax 6600

FILE *fin=fopen("triplete.in","r"),
    *fout=fopen("triplete.out","w");

int N,M,rez;
char A[Nmax][Nmax];

struct nod{int inf;nod* next;};
typedef nod* lista;
lista L[Nmax];

int main(){
    fscanf(fin,"%d %d",&N,&M);
    for(int i=1;i<=M;i++){
        int x,y;
        fscanf(fin,"%d %d",&x,&y);
        A[x][y]=A[y][x]=1;

        lista aux=new nod;
        aux->inf=x;
        aux->next=L[y];
        L[y]=aux;

    }

    for(int i=1;i<=N;i++)
        for(lista p=L[i];p;p=p->next)
            for(int j=1;j<=N;j++)
                if(A[i][j] && A[p->inf][j])
                    ++rez;

    fprintf(fout,"%d\n",rez/3);
    fclose(fin);
    fclose(fout);
    return 0;



}