Cod sursa(job #7175)

Utilizator ViksenVictor-Nicolae Savu Viksen Data 21 ianuarie 2007 12:57:32
Problema Triplete Scor 40
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasa a 10-a Marime 0.6 kb
#include <stdio.h>
#include <string.h>

char A[4100][600];
int n,m,x,y,nr,i,j;

void ReadData()
{
 freopen("triplete.in","r",stdin);
 scanf("%d %d", &n, &m);nr=0;
 memset(A,0,sizeof(A));
 for (i=0;i<m;i++) {
    scanf("%d %d",&x, &y);
    A[x][y>>3]|=(1<<(y&7));
    A[y][x>>3]|=(1<<(x&7));
    for (j=1;j<=n;j++)
       if ((j!=x)&&(j!=y)&&( ( A[x][j>>3]>>(j&7) ) &1 )&&( (A[y][j>>3]>>(j&7) ) &1 ))
          nr++;
    }
 fclose(stdin);
}

void WriteData()
{
 freopen("triplete.out","w",stdout);
 printf("%d\n",nr);
 fclose(stdout);
}

int main()
{
 ReadData();
 WriteData();
}