Pagini recente » Rezultatele filtrării | Cod sursa (job #2504686) | Cod sursa (job #1231182) | Cod sursa (job #621427) | Cod sursa (job #755970)
Cod sursa(job #755970)
#include<fstream>
#include<vector>
#define pb push_back
using namespace std;
ofstream out("triplete.out");
int n,m,Y[60000],X[60000],ly,lx,uz1[60000],uz2[60000];
vector<int>G[4097];
typedef vector<int>:: iterator IT;
long long ans;
void read();
void solve();
bool inside(int ,int);
int main()
{
read();
solve();
out<<ans;
return 0;
}
void read()
{
ifstream in("triplete.in");
in>>n>>m;
int mm=m;
for(int x,y;mm;--mm)
{
in>>x>>y;
X[++lx]=x;
Y[++ly]=y;
G[x].pb(y);
G[y].pb(x);
}
}
void solve()
{
for(int i=1;i<=m;i++)
{
int xx=X[i];
int yy=Y[i];
for(IT I1=G[xx].begin();I1!=G[xx].end();++I1)
for(IT I2=G[yy].begin();I2!=G[yy].end();++I2)
if(*I1==*I2&&uz1[*I1]==0&&uz2[*I2]==0)
{
++ans;
uz1[*I1]=1;
uz2[*I2]=1;
}
}
}