Pagini recente » Cod sursa (job #1788159) | Cod sursa (job #2054299) | Cod sursa (job #2914307) | Cod sursa (job #1147226) | Cod sursa (job #1851218)
#include <fstream>
#define Imax 4105
#define NMax 66000
using namespace std;
ifstream in ("triplete.in");
ofstream out ("triplete.out");
int Iorgu[Imax][Imax/(1<<5)], stanga[NMax], dreapta[NMax];
int n,m,x,y,sol;
int CountBiti (int arg)
{
int ret=0;
while (x)
{
ret++;
x-=(x&(-x));
}
return ret;
}
void Read()
{
in>>n>>m;
for (int i=1;i<=m;i++)
{
in>>st[i]>>dr[i];
if (st[i]>dr[i])
{
swap(st[i],dr[i]);
}
Iorgu[st[i]][dr[i]/(1<<5)]+=(1<<((dr[i]-1)%(1<<5)));
}
}
void Solve()
{
for (int i=1;i<=m;i++)
{
for (int j=0;j<=n/(1<<5);j++)
{
sol+=CountBiti(((Iorgu[st[i]][j])&(Iorgu[dr[i]][j])));
}
}
}
void Print()
{
//WOW
//MUCH FUNCTION
out<<sol;
//SUCH PROGRAMMING. WOW
}
int main()
{
Read();
Solve();
Print();
return 0;
}