先前的代码
这份代码中tot恒为0,即这段语句:
if(f==-1||f==1){
for(int i=1;i<=tot;i++)
if(s[i].x!=1&&s[i].y!=1)s[i].w^=1;
(ans+=work())%=mo;
}
当格子(1,1)被枚举为1时我所有的操作根本没有将点的赋值翻转过来,点的赋值依旧与格子(1,1)被枚举为零时赋值一样,它也根本过不了下面这组样例:
2 2 4
1 1 1
1 2 1
2 1 1
2 2 0
但它却在luogu的评测中取得了满分。
而当我将其改过来后,得到了代码
才应该是正确的。
建议加强数据