Pagini recente » Cod sursa (job #74069) | Cod sursa (job #111376) | Cod sursa (job #297834) | Rating Nicholas David Cantar Gogitidze (nicholascantar) | Cod sursa (job #7134)
Cod sursa(job #7134)
#include <stdio.h>
#include <stdlib.h>
#define nmax 1001
//65537
FILE *f,*g;
int a[nmax][2];
char **rel;
int main()
{
long n,m,i,j,nr,k,ok;
FILE *f=fopen("triplete.in","rt");
FILE *g=fopen("triplete.out","wt");
fscanf(f,"%ld %ld",&n,&m);
rel=(char**)calloc(n+1,sizeof(int));
for (i=1;i<=n;i++)
rel[i]=(char*)calloc(n-i+2,sizeof(char));
for (i=1;i<=m;i++)
{
fscanf(f,"%d %d",&a[i][0],&a[i][1]);
if (a[i][0]>a[i][1])
{
j=a[i][0];
a[i][0]=a[i][1];
a[i][1]=j;
}
rel[a[i][0]][n-a[i][1]+1]='1';
}
nr=0;
for (i=1;i<=n;i++)
for (j=n-i+1;j>0;j--)
if (rel[i][j]=='1')
{
for (k=j-1;k>0;k--)
{
ok=0;
if (n-k+1<=n&&i<=k)
{
if (rel[n-j+1][k]=='1'&&rel[n-k+1][i]=='1')
ok=1;
}
if (k<=n-i+1)
{
if (rel[n-j+1][k]=='1'&&rel[i][k]=='1')
ok=1;
}
if (ok)
nr++;
}
}
fprintf(g,"%ld\n",nr);
fclose(f);
fclose(g);
return 0;
}