Pagini recente » Cod sursa (job #1787472) | Cod sursa (job #1159591) | Cod sursa (job #3003134) | Cod sursa (job #1856493) | Cod sursa (job #1213765)
#include<fstream>
#include<algorithm>
#include<string>
using namespace std;
typedef struct lnod {
int info;
lnod *next;
}*nod;
int i,n,m,gmb,fnc,rs,l,aux;
nod lda[4100],p,r,q;
string s;
bool u;
void add(int x,nod &y) {
nod p=new lnod;
p->info=x;
p->next=y;
y=p;
}
int main()
{
ifstream cin("triplete.in");
ofstream cout("triplete.out");
cin>>n>>m; getline(cin,s);
while(m--)
{
getline(cin,s); l=s.length(); gmb=0; fnc=0; aux=0;
while(s[aux]<='9' && s[aux]>='0')
gmb=gmb*10+s[aux]-'0',++aux;
++aux;
while(s[aux]<='9' && s[aux]>='0' && aux<l)
fnc=fnc*10+s[aux]-'0',++aux;
if(gmb>fnc) add(gmb,lda[fnc]);
else add(fnc,lda[gmb]);
}
for(i=1;i<=n;++i)
for(p=lda[i];p;p=p->next)
for(r=p->next;r;r=r->next)
{
gmb=p->info; fnc=r->info;
if(gmb>fnc) swap(gmb,fnc);
for(q=lda[gmb],u=0;q && !u;q=q->next)
if(q->info==fnc) ++rs,u=1;
}
cout<<rs<<'\n';
return 0;
}