Pagini recente » Cod sursa (job #1976133) | Cod sursa (job #112193) | Cod sursa (job #1194169) | Cod sursa (job #2726520) | Cod sursa (job #529754)
Cod sursa(job #529754)
#include<fstream>
#include<bitset>
#define dmax 66000
#define dmax2 4100
using namespace std;
typedef struct muchie
{
int x,y;
} muchie;
int n,m;
muchie mu[dmax];
bitset <dmax2> a[dmax2],nr;
long long numar;
void citire()
{
int i;
ifstream fin("triplete.in");
fin>>n>>m;
for (i=1; i<=m; i++)
{
fin>>mu[i].x>>mu[i].y;
a[mu[i].x][mu[i].y] = 1;
a[mu[i].y][mu[i].x] = 1;
}
fin.close();
}
void solve()
{
int i;
for (i=1; i<=m; i++) /*iau fiecare muchie*/
{
nr = a[mu[i].x] & a[mu[i].y];
/* & logic -> nr are 1 pe o pozitie daca si numai daca a[mu[i].x] si a[mu[i].y] au si ele 1 pe aceeasi pozitie */
numar += nr.count();
/* .count() transforma numarul nr din baza 2 in baza 10 */
}
}
void afisare()
{
ofstream fout("triplete.out");
fout<<numar / 3;
fout.close();
}
int main()
{
citire();
solve();
afisare();
return 0;
}