Cod sursa(job #2015444)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 26 august 2017 10:01:59
Problema Triplete Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
# include <fstream>
# include <bitset>
# define DIM 4010
# define DIM1 65546
using namespace std;
ifstream fin("triplete.in");
ofstream fout("triplete.out");
unsigned int b[DIM][DIM/32],a[DIM/32],st[DIM1],dr[DIM1];
unsigned int n,m,x,y,i,j,sol;
int biti(unsigned int a){
    int nr=0;
    for(;a;a-=(a&-(a)),nr++);
    return nr;
}
int main () {
    fin>>n>>m;
    for(i=1;i<=m;i++){
        fin>>x>>y;
        b[x][y/32]+=(1<<((y-1)%32));
        b[y][x/32]+=(1<<((x-1)%32));
        st[i]=x;
        dr[i]=y;
    }
    for(i=1;i<=m;i++)
        for(j=0;j<=n/32;j++)
            sol+=biti(((b[st[i]][j])&(b[dr[i]][j])));
    fout<<sol/3<<"\n";
    return 0;
}