Cod sursa(job #11140)

Utilizator patroclenuu nuu patrocle Data 30 ianuarie 2007 18:03:45
Problema Triplete Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream.h>
long int m;
int n,s[5000][5000],nr=0,t[10];

int valid(int k)
{if(k==1)
return 1;
if (k==2)
if(s[t[1]][t[2]]==1 && t[1]<t[2])
return 1;
if(k==3)
if(s[t[1]][t[2]]==1 && s[t[2]][t[3]]==1 && s[t[1]][t[3]]==1 && t[1]<t[2] && t[2]<t[3])
return 1;
return 0;}

void back(int k)
{int i;
if(k>3) nr++;
else for(i=1;i<=n;i++)
{t[k]=i;
if(valid(k)) back(k+1);}}

int main()
{ifstream f("triplete.in");
ofstream g("triplete.out");
int i,j,x,y;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
s[i][j]=0;
for(i=1;i<=m;i++)
{f>>x>>y;
s[x][y]=1;
s[y][x]=1;}
back(1);
g<<nr;
return 0;}