Pagini recente » Cod sursa (job #704105) | Cod sursa (job #2123761) | Cod sursa (job #3264195) | Cod sursa (job #2580615) | Cod sursa (job #272410)
Cod sursa(job #272410)
#include<stdio.h>
#include<string.h>
#define Nmax 4100
#define Mmax 6600
FILE *fin=fopen("triplete.in","r"),
*fout=fopen("triplete.out","w");
int N,M,rez,muchie[Mmax][2];
char viz[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);
lista aux=new nod;
aux->inf=x;
aux->next=L[y];
L[y]=aux;
aux=new nod;
aux->inf=y;
aux->next=L[x];
L[x]=aux;
muchie[i][0]=x;
muchie[i][1]=y;
}
for(int i=1;i<=M;i++){
memset(viz,0,sizeof(viz));
for(lista k1=L[muchie[i][0]];k1;k1=k1->next)
viz[k1->inf]=1;
for(lista k2=L[muchie[i][1]];k2;k2=k2->next)
if(viz[k2->inf])
++rez;
}
fprintf(fout,"%d\n",rez/3);
fclose(fin);
fclose(fout);
return 0;
}