转载自https://blog.csdn.net/Brian_Pan_/article/details/103860752
可以把环想象成两条路,如果没有天生的0,那两条路就是一样的(如果有的话,就两个方向跑一遍,奇数个非零alice必胜)
如果是偶数个的话,就没有必胜的策略了,只能根据bob所走的选择我们Alice最优的方案(不是我们考虑的范围)
1 #include<iostream> 2 using namespace std; 3 const int N=30; 4 int a[N]; 5 int main(void) 6 { 7 int n; 8 cin>>n; 9 for(int i=1;i<=n;i++) 10 { 11 cin>>a[i]; 12 } 13 int ans1=0; 14 for(int i=1;i<=n;i++) 15 { 16 if(a[i]) 17 ans1++; 18 } 19 int ans2=0; 20 for(int i=n;i>=1;i--) 21 { 22 if(a[i]) 23 ans2++; 24 } 25 if(ans1&1||ans2&1) 26 cout<<"YES"<<endl; 27 else 28 cout<<"NO"<<endl; 29 return 0; 30 }
我们可以把这个环想象成两条路,如果路的尽头没有边权为 0
0 的边,那么两条路径就是一样的。
我们可以把这个环想象成两条路,如果路的尽头没有边权为 0
0 的边,那么两条路径就是一样的。
对于一条路径,设 Alice
Alice 为先手,那么她将她走过的路径边权变为 00。轮到 BobBob 时,他最多也只能有一条路可以走。如果他选择不将该路边权变为 00,下一步 AliceAlice 一折返他就输了。如果他将边权变为 00,那么就变成重复以上操作了
最后如果路径长度为奇数,AliceAlice 还是赢;路径长为偶数的话 Alice
Alice 就没有必胜策略
这样这题就被转化成判断两条路径奇偶性了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端