求助。无脑博弈搜索为啥WA了三个点?

P1288 取数游戏 II

```cpp #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> using namespace std; int a[40],n; int dfs(int x) { if(a[x]==0&&a[(x-1+n)%n]==0)return 0; int t1=a[x],t2=a[(x-1+n)%n]; if(a[x]!=0) { for(int i=0;i<t1;i++) { a[x]=i; if(!dfs((x+1)%n))return 1; a[x]=t1; } } if(a[(x-1+n)%n]!=0) { for(int i=0;i<t2;i++) { a[(x-1+n)%n]=i; if(!dfs((x-1+n)%n))return 1; a[(x-1+n)%n]=t2; } } return 0; } int main() { cin>>n; for(int i=0;i<n;i++)cin>>a[i]; if(dfs(0))cout<<"YES\n"; else cout<<"NO\n"; return 0; } ```
by acmoyjh @ 2019-05-14 21:51:20


希望更丰富的展现?请使用Markdown
by WC自动机 @ 2019-11-11 08:36:36


|