Cod sursa(job #612646)
Utilizator | Data | 9 septembrie 2011 13:10:47 | |
---|---|---|---|
Problema | Triplete | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<bitset>
using namespace std;
#define N 4100
#define M 66000
long n,m,a[M],b[M],i,j,t;
bitset<N> c[N],r;
int main()
{freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(i=1;i<=m;i++)
{scanf("%ld%ld",&a[i],&b[i]);
c[a[i]].set(b[i]);
c[b[i]].set(a[i]);}
for(j=1;j<=m;j++)
{r=c[a[j]]&c[b[j]];
if(a[j]<b[j])
for(i=1;i<=b[j];i++)
r.set(i,0);
else
for(i=1;i<=a[j];i++)
r.set(i,0);
t+=r.count();}
printf("%ld",t);
return 0;}