Pagini recente » Cod sursa (job #3162306) | Cod sursa (job #2449522) | Cod sursa (job #2587501) | Cod sursa (job #967118) | Cod sursa (job #325228)
Cod sursa(job #325228)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct nod
{ int p[2001];
}a[4100];
int i,j,k,n,m,x,y,p,ok1,ok,rez,mij;
int cautbin(int x,int i)
{ int st;
bool ok=0;
for(st=1;st<=a[i].p[0];st++) if(a[i].p[st]==x) return 1;
return 0;
}
int main()
{
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=m;i++) { scanf("%d %d",&x,&y);
a[x].p[++a[x].p[0]]=y;
}
//for(i=1;i<=m;i++){
// for(j=1;j<=a[i].p[0];j++) printf("%d ",a[i].p[j]);
// printf("\n");
// }
for(i=1;i<=n;i++) if(a[i].p[0]) for(j=1;j<=a[i].p[0];j++)
if(a[a[i].p[j]].p[0])for(k=1;k<=a[a[i].p[j]].p[0];k++) { ok=cautbin(a[a[i].p[j]].p[k],i);
if(!ok) {
// ok1=cautbin(i,a[a[i].p[j]].p[k]);
//if(ok1){ rez++;
// printf("%d %d %d\n",a[i].p[j],a[a[a[i].p[j]].p[k]].p[mij],i);
// }
}
else rez++;//,printf("%d %d %d\n",i,a[i].p[j],a[a[i].p[j]].p[k]);
}
printf("%d\n",rez);
fclose(stdin);
fclose(stdout);
return 0;
}