Cod sursa(job #158661)

Utilizator pinkutzaRodykutz pinkutza Data 13 martie 2008 19:17:25
Problema Triplete Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<fstream.h>
ofstream fout("triplete.out");
int m,n;
struct nod{
       int inf;
       nod*urm;
};
nod *p[4000];

void cit()
{
     int i,x,y;
     nod *q;
      ifstream fin("triplete.in");
      fin>>n>>m;
      for(i=1;i<=n;i++)
       p[i]=0;
       
      for(i=1;i<=m;i++)
      {
                       
        fin>>x>>y;
        q=new nod;
        q->inf=x;
        q->urm=p[y];
        p[y]=q;
        
        q=new nod;
        q->inf=y;
        q->urm=p[x];
        p[x]=q;
        }
      fin.close();
 
      
}

int gasire(int nod1 ,int x)
{
     nod  *r;
     for(r=p[x];r!=0;r=r->urm)
      if(r->inf==nod1)
       return 1;
     return 0;
}



int main()
{
    cit();
    int i,j,x,y;
    int nr=0;
  
      
  nr=0;
  ifstream fin1("triplete.in");
  fin1>>n>>m;
  for(i=1;i<=m;i++)
  {
    fin1>>x>>y;
    for(j=1;j<=n;j++)
     if(gasire(j,x)&&gasire(j,y)) 
     {
      
      nr++;
     }
  }   
 
  fout<<nr/3<<'\n';
  fout.close();
  fin1.close();     
    return 0;
}