O2的毒氧就在CSP中遇到了,100->20。
但问题是,这个O2导致的毒氧就是连-Wall,-Wextra, 加上运行时-fsanitize=undefine都是查不出来的,这里的O2毒氧到底是怎么导致的?
#include<bits/stdc++.h>
using namespace std;
bool FLA;
#define int long long
#define MAXN 10
//#define FIO
bool canbe[9][1000010];
bool FLB;
int a[5];
void addi(int x,int y){a[x]+=y;a[x]=(10+a[x])%10;}
int Mhash(){return (((a[1]*10+a[2])*10+a[3])*10+a[4])*10+a[5];}
signed main(){
//cerr<<((&FLB)-(&FLA))/1024.0/1024<<endl;
#ifdef FIO
freopen("lock.in","r",stdin);
freopen("lock.out","w",stdout);
#endif // FIO
int n;
cin>>n;
for(int i=0;i<1e6;i++){canbe[0][i]=1;}
for(int i=1;i<=n;i++){
for(int j=1;j<=5;j++){cin>>a[j];}
for(int j=1;j<=5;j++){
for(int k=1;k<=9;k++){
addi(j,k);
canbe[i][Mhash()]=canbe[i-1][Mhash()];
addi(j,-k);
}
}
for(int j=1;j<5;j++){
for(int k=1;k<=9;k++){
addi(j,k);addi(j+1,k);
canbe[i][Mhash()]=canbe[i-1][Mhash()];
addi(j,-k);addi(j+1,-k);
}
}
for(int k=1;k<=9;k++){
}
}
int ans=0;
for(int i=0;i<1e6;i++){
ans+=canbe[n][i];
}
cout<<ans;
}
/*
rnauoshonoanatkanidsiaaicwahkukeio
*/
(附上代码)