Cod sursa(job #762222)

Utilizator ion824Ion Ureche ion824 Data 29 iunie 2012 13:22:40
Problema Triplete Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream>
using namespace std;
typedef struct lnod{
        int vf;
        struct lnod *next;
        }*Nod;
Nod a[4100];

int main(void)
{
    ifstream fin("triplete.in");
    ofstream fout("triplete.out");
    int i,x,y,NR=0,N,M,m1,m2; Nod p,q,z;
    fin>>N>>M;
    for(i=1;i<=M;++i)
    {
     fin>>x>>y;
     if(x<y){
     Nod p = new lnod;
     p->vf = y;
     p->next = a[x];
     a[x] = p;
     }
     else{
     p = new lnod;
     p->vf = x;
     p->next = a[y];
     a[y] = p;  
     }                      
    }
    for(i=1;i<=N;++i)
      if(a[i] && a[i]->next)
        for(p=a[i];p;p=p->next)
            for(q=p->next;q;q=q->next)
              {
                if(p->vf<q->vf){ m1=p->vf; m2=q->vf; }
                  else { m1=q->vf; m2=p->vf; }
                for(z=a[m1];z;z=z->next)
                  if(z->vf==m2)
                    ++NR;
              }
    fout<<NR<<'\n';
 return 0;   
}