Pagini recente » Cod sursa (job #294400) | Cod sursa (job #3392) | Cod sursa (job #1310426) | Cod sursa (job #155722) | Cod sursa (job #1759488)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("triplete.in");
ofstream fout("triplete.out");
vector <int> v[4100];
int n,m,viz[4100],cntfin;
void Citire()
{
int i,x,y;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
v[x].push_back(y);v[y].push_back(x);
}
fin.close();
}
void DFS(int k,int pred,int cnt)
{
cnt++;
int i,j,l;
viz[k]=1;
l=v[k].size();
for(i=0;i<l;i++)
if(viz[v[k][i]]==1&&v[k][i]!=pred&&cnt==2) cntfin++;
else if(viz[v[k][i]]==0) DFS(v[k][i],k,cnt);
return;
}
void Rezolvare()
{
int i,j;
cntfin=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++) viz[j]=0;
DFS(i,1,0);
}
fout<<cntfin<<"\n";
fout.close();
}
int main()
{
Citire();
Rezolvare();
return 0;
}