我A过的代码,本来操作的时候是这么写的;
for(int i=1;i<=m;i++){
int p=read();
if(p==1){
int x=read(),y=read(),v=read();
update_range(x,y,v%mod);
}
else if(p==2){
int x=read(),y=read();
print(query_range(x,y)),puts("");
}
else if(p==3){
int x=read(),v=read();
update_son(x,v);
}
else {
int x=read();
print(query_son(x)),puts("");
}
}
但是我看到传进函数的参数都是按照读入的顺序,就突发奇想改了一下,如下,
for(int i=1;i<=m;i++){
int p=read();
if(p==1)update_range(read(),read(),read()%mod);
else if(p==2)print(query_range(read(),read())),puts("");
else if(p==3)update_son(read(),read());
else print(query_son(read())),puts("");
}
于是就0分了,但是为什么呢?