#include<bits/stdc++.h>
using namespace std;
int n,m,Q,ans;
int pw[500005],maxx[500005];
int dx[500005],dy[500005];
int answer[500005];
bool vis[505][500005];
const int mod=998244353;
struct G{
int tot,head[200005];
struct node{
int u,v,next;
}ed[200005];
void add(int u,int v){
ed[++tot].v=v;
ed[tot].next=head[u];
head[u]=tot;
}
}liver_Graph[105];
struct edge{
int u,v,val;
}e[500005];
void dfs(int id,int x){
vis[id][x]=1;
if(id>maxx[x]&&x!=1){
ans=(ans-1ll*pw[x]*maxx[x]%mod+mod)%mod;
ans=(ans+1ll*pw[x]*id%mod+mod)%mod;
maxx[x]=id;
}
for(int i=liver_Graph[id].head[x];i;i=liver_Graph.ed[i].next){
int v=liver_Graph[id].v;
if(vis[id][v]){
continue;
}
dfs(id,v);
}
return ;
}
inline read(){
int i=0;
char c=0;
char ch='\0' ;
while((ch=getchar())<48||ch>57)if(ch=='-')c=1;
while(ch>47&&ch<58){
i=(i<<1)+(i<<3)+(ch&0xCF);
ch=getchar();
}
if(c){
i=-i;
}
return i;
}
signed main(){
n=read(),m=read(),Q=read();
for(int i=1;i<=n;i++){
pw[i]=2ll*pw[i-1]%mod;
}
for(int i=1;i<=m;i++){
e[i].u=read();
e[i].v=read();
e[i].val=read();
}
for(int i=1;i<=Q;i++){
dx[i]=read();
dy[i]=read();
e[dx[i]].val-=dy[i];
}
for(int i=1;i<=m;i++){
for(int i=1;i<=e[i].val;i++){
liver_Graph.add(e[i].u,e[i].v);
}
}
for(int i=1;i<=100;i++){
dfs(i,1);
}
for(int i=Q;i>=1;i--){
answer[i]=ans;
for(int j=e[dx[i]].val+1;j<=e[dx[i]].val+dy[i];j++){
liver_Graph.add(e[dx[i]].u,e[dx[i]].v);
if(vis[j][e[dx[i]].u]){
dfs(j,e[dx[i]].u);
}
}
e[dx[i]].val+=dy[i];
}
for(int i=1;i<=Q;i++){
printf("%d\n",answer[i]);
}
return 0;
}
in function 'void dfs(int, int)':
30 52
[Error] request for member 'ed' in 'liver_Graph', which is of non-class type 'G [105]'
31 25
[Error] 'struct G' has no member named 'v'
In function 'int main()':
70 16
[Error] request for member 'add' in 'liver_Graph', which is of non-class type 'G [105]'
79 16
[Error] request for member 'add' in 'liver_Graph', which is of non-class type 'G [105]'
版本为 c++14
错误信息和代码均给出,恳请大佬指点