本蒟蒻总是 TLE #5 #6
code:
#include<bits/stdc++.h>
#define ll long long//#define ll long long你值得拥有
#define lli long long int//#define lli long long int你值得拥有
using namespace std;
ll n,m,ans,len1,len2,len3;
unordered_map <ll,set<ll>> v;
set <ll> ::iterator it;
inline ll read()//快读模板
{
ll x=0,f=1;
char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(isdigit(ch))
{
x=x*10+ch-'0';
ch=getchar();
}
return x*f;
}
int main()
{
n=read(),m=read();
for(ll i=1,l,r,x;i<=m;i++)
{
l=read(),r=read(),x=read();
set <ll> s1=v[(lli)l*n+r],s2=v[(lli)l*n+x],s3=v[(lli)r*n+x];
ll len1=s1.size(),len2=s2.size(),len3=s3.size();
if(len1<=len2&&len1<=len3)
{
for(it=s1.begin();it!=s1.end();it++)
if(s2.count(*it)&&s3.count(*it))
ans++;
}
else if(len2<=len1&&len2<=len3)
{
for(it=s2.begin();it!=s2.end();it++)
if(s1.count(*it)&&s3.count(*it))
ans++;
}
else
{
for(it=s3.begin();it!=s3.end();it++)
if(s2.count(*it)&&s1.count(*it))
ans++;
}
v[(lli)l*n+r].insert(x),v[(lli)l*n+x].insert(r),v[(lli)r*n+x].insert(l);
}
cout<<ans<<endl;
return 0;
}
有没有 dalao 来帮帮我啊