Pagini recente » Cod sursa (job #1225885) | Cod sursa (job #814060) | Cod sursa (job #2187436) | Cod sursa (job #858995) | Cod sursa (job #2230857)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("triplete.in");
ofstream fout ("triplete.out");
const int Dim = 5000;
using VI = vector < int >;
using VVI = vector < VI >;
VVI G;
int n,m,Viz[Dim],cnt;
int main() {
fin >> n >> m;
G = VVI(n+1);
int a,b;
for ( ;m > 0; --m) {
fin >> a >> b;
G[a].push_back(b);
G[b].push_back(a);
}
for ( int i = 1; i <= n; ++i)
for ( const int & x : G[i]) {
Viz[x] = i;
for( const int & y : G[x])
if ( Viz[y] == i and y != i)
++cnt;
}
fout << cnt / 3;
}