Pagini recente » Cod sursa (job #1980937) | Cod sursa (job #354048) | Cod sursa (job #3221277) | Cod sursa (job #1336126) | Cod sursa (job #2235824)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 4100
#define MMAX 66000
ifstream fin("triplete.in");
ofstream fout("triplete.out");
vector <int> la[NMAX];
int n,m,sol=0,viz[NMAX];
void DFS(int k,int i){
if(k<2){
int l=la[i].size();
for(int j=0;j<l;j++){
if(!viz[la[i][j]]){
viz[la[i][j]]=viz[i];
DFS(++k,la[i][j]);
}else return;
}
} else{
int l=la[i].size();
for(int j=0;j<l;j++){
if(la[i][j]==viz[i]){
sol++;
}
}
}
}
int main(){
fin>>n>>m;
for(int i=0;i<n;i++)la[i].clear();
for(int i=0;i<m;i++){
int a,b;
fin>>a>>b;
la[a].push_back(b);
la[b].push_back(a);
}
for(int i=1;i<=n;i++)
{
for(int j=0;j<=n;j++){
viz[j]=0;
}
viz[i]=i;
DFS(0,i);
}
fout<<sol/3;
return 0;
}