QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#885355#7324. Eulerian OrientationbzqCompile Error//C++141.2kb2025-02-06 15:23:002025-02-06 15:23:10

Judging History

This is the latest submission verdict.

  • [2025-02-06 15:23:10]
  • Judged
  • [2025-02-06 15:23:00]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
#define pb push_back
mt19937_64 bzq(0);
const int N=200010,mod=1e9+7,p3=mod-3;
int n,m,uid,ans,ans1,num,t,u,v;
int sui[N],w[N],b[N];
map<int,int> mp;
struct jcd{
	int v,id;
};

void dfs(int u,int fa,int k)
{
	b[u]=1;
	for(auto[v,id]:f[u])
	if(id!=k){
		if(!b[v])dfs(v,u,id),sui[u]^=sui[v];
		else if(!w[id])
		++uid,w[id]=bzq(),sui[u]^=w[id],sui[v]^=w[id];
	}
	w[k]=sui[u];
}
vector<jcd> f[N];
int power(int a,int b){
	int ans=1;
	while(b){
		if(b%2)ans=ans*a%mod;
		b/=2;a=a*a%mod;
	}return ans;
}


void cl(){
	uid=ans=ans1=num=0;
	for(int i=1;i<=n;i++)sui[i]=b[i]=0;
	for(int i=1;i<=m;i++)w[i]=0;
	mp.clear();
	for(int i=1;i<=n;i++)f[i].clear();
}

signed main()
{
	cin>>t;
	while(t--)
	{
		cin>>n>>m;cl();
		for(int i=1;i<=m;i++)
		cin>>u>>v,f[u].pb({v,i}),f[v].pb({u,i});
		for(int i=1;i<=n;i++)
		if(!b[i])dfs(i,0,0);
		for(int i=1;i<=m;i++)
		if(w[i])mp[w[i]]++;
		for(auto[a,b]:mp)
		ans=(ans+b)%mod,ans1=(ans1+b*b)%mod;
		num=ans*ans%mod;
		num=(num+ans1)%mod;
//		num=num*power(2,uid-3)%mod;oi一场十年功,ull爆炸见jl,yyyx,wzy 
		num=num*power(2,uid+p3)%mod;
		cout<<num<<"\n";
	}
	return 0;
}

Details

answer.code: In function ‘void dfs(long long unsigned int, long long unsigned int, long long unsigned int)’:
answer.code:17:17: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   17 |         for(auto[v,id]:f[u])
      |                 ^
answer.code:17:24: error: ‘f’ was not declared in this scope
   17 |         for(auto[v,id]:f[u])
      |                        ^
answer.code: In function ‘int main()’:
answer.code:55:25: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   55 |                 for(auto[a,b]:mp)
      |                         ^