Pagini recente » Cod sursa (job #82389) | Cod sursa (job #2008686) | Cod sursa (job #2401764) | Cod sursa (job #306070) | Cod sursa (job #1123896)
/// Craciun Catalin
/// Triplete
/// Infoarena
/// PreONI 2007, Runda 1
/// www.infoarena.ro/problema/triplete
/// Parcurgere bruta: Prima metoda de rezolvare e bruta si are complexitate exponentiala: O((n*(n+1)/2)*n)
#include <fstream>
#include <iostream>
#define NMax 4100
#define MMax 65540
// #define DEBUG 1
using namespace std;
ifstream f("triplete.in");
ofstream g("triplete.out");
int n,m;
bool A[NMax][NMax]; /// Matricea de adiacenta
long triplete=0;
void parcurgereBruta()
{
for (int i=1;i<=n;i++)
for (int j=i+1;j<=n;j++)
for (int k=j+1;k<=n;k++)
if (A[i][j] && A[j][k] && A[k][i])
triplete++;
g<<triplete<<'\n';
g.close();
}
void afisare()
{
#ifdef DEBUG
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
cout<<A[i][j]<<' ';
cout<<endl;
}
#endif // DEBUG
}
void citire()
{
f>>n>>m;
for (int i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
A[x][y]=A[y][x]=true;
}
f.close();
}
int main()
{
citire();
afisare();
// if (n<=600)
parcurgereBruta();
return 0;
}