Cod sursa(job #1718282)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 17 iunie 2016 11:22:29
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>
#include <vector>
#include <cstring>
#define MAXN (1<<12)
using namespace std;
int vf[MAXN+1];
vector <int> G[MAXN+1];
int main(){
    FILE*fi,*fout;
    int i,j,con,n,m,x,y,k;
    fi=fopen("triplete.in" ,"r");
    fout=fopen("triplete.out" ,"w");
    fscanf(fi,"%d%d" ,&n,&m);
    for(i=0;i<m;i++){
        fscanf(fi,"%d%d" ,&x,&y);
        G[x].push_back(y);
        G[y].push_back(x);
    }
    con=0;
    for(i=1;i<=n;i++){
       for(j=0;j<G[i].size();j++)
          vf[G[i][j]]=1;
       for(j=0;j<G[i].size();j++){
        x=G[i][j];
        for(k=0;k<G[x].size();k++)
          if(vf[G[x][k]]==1)
            con++;
       }
        memset(vf,0,sizeof(vf));
    }
    fprintf(fout,"%d" ,con/6);
    fclose(fi);
    fclose(fout);
    return 0;
}