Cod sursa(job #11135)

Utilizator patroclenuu nuu patrocle Data 30 ianuarie 2007 17:52:33
Problema Triplete Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream.h>
long long int n,m,s[1000][1000],x[1000000],y[1000000],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)
{long long 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");
long long int i,j;
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[i]>>y[i];
s[x[i]][y[i]]=1;
s[y[i]][x[i]]=1;}
back(1);
g<<nr;
return 0;}