UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#213510#573. t2laiyishiCompile Error//C++938b2024-11-12 19:19:202024-11-12 23:09:45

answer

#include<bits/stdc++.h>
using namespace std;
int n,q;
struct edge{
	int u,v,w;
}e[100005];
int vis[100005];
vector<int>g[100005];
vector<int>d[100005];
int dfs(int u,int fa){
	vis[u]=1;
	int sum=1;
	for(int v:g[u]){
		if(v==fa)continue;
		sum+=dfs(v,u);
	} 
	return sum;
}
void solve(int i){
	long long ans=0;
	for(int x:d[i]){
		g[e[x].u].push_back(e[x].v);
		g[e[x].v].push_back(e[x].u);
	}
	for(int j=1;j<=n;j++){
		if(!vis[j]){
			int sz=dfs(j,-1);
			ans+=1ll*sz*(sz-1)/2;
		}
	}
	printf("%lld\n",ans);
	for(int x:d[i]){
		g[e[x].u].clear(),g[e[x].v].clear();
		vis[e[x].u]=0,vis[e[x].v]=0;
	}
}
int main(){
	scanf("%d%d",&n,&q);
	for(int i=1;i<n;i++){
		scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
		for(int j=1;j<=e[i].w/j;j++){
			if(e[i].w%j==0){
				d[j].push_back(i);
				if(j!=e[i].w/j)d[e[i].w/j].push_back(i);
			}
		}
	}
	while(q--){
		int d;scanf("%d",&d);
		solve(d);
	}
} 

详细

answer.code: In function 'int dfs(int, int)':
answer.code:13:12: error: range-based 'for' loops are not allowed in C++98 mode
  for(int v:g[u]){\x0d
            ^
answer.code: In function 'void solve(int)':
answer.code:21:12: error: range-based 'for' loops are not allowed in C++98 mode
  for(int x:d[i]){\x0d
            ^
answer.code:32:12: error: range-based 'for' loops are not allowed in C++98 mode
  for(int x:d[i]){\x0d
            ^
answer.code: In function 'int main()':
answer.code:38:21: warning: i...