news 2026/4/24 0:35:56

【自用复习】牛客每日一题2026.4.22

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【自用复习】牛客每日一题2026.4.22

参考@OvO_CYX的题解
原题链接



一开始还在想没放的部分组成的连通块数量和胜败态的关系,但是很复杂,而且很难列出都没放的情况属于哪种状态
因为位置只有16个,有2 16 = 65535 2^{16}=65535216=65535种棋局情况,暴力搜索得到每个棋局的状态
根据SG定理,后继一个状态为必败态,那么本状态为必胜态

intdx[4]={1,-1,0,1};intdy[4]={0,1,1,1};vector<int>st(N,-1);intarray_to_num(vector<vector<int>>a){intbt=0,res=0;forr(i,0,3){forr(j,0,3)res+=(1<<bt)*a[i][j],bt++;}returnres;}vector<vector<int>>num_to_array(intnum){vector<vector<int>>a(5,vector<int>(5));forr(i,0,3){forr(j,0,3){intbt=i*4+j;a[i][j]=((num>>bt)&1);}}returna;}intcnt=0;voiddfs(intnow){if(st[now]!=-1)return;cnt++;st[now]=0;vector<vector<int>>anow=num_to_array(now);// 判断now状态输赢forr(i,0,3){forr(j,0,3){if(anow[i][j]==0){// 先放一个anow[i][j]=1;intnnow=array_to_num(anow);dfs(nnow);st[now]|=(st[nnow]==0);// 后继状态输 本状态赢anow[i][j]=0;// 恢复现场 保持本次now不变 用于后续{i,j}的判断// 如果不恢复 遍历状态会少// 放多个forr(d,0,3){// 每个方向有单独的anxt 省去回复现场vector<vector<int>>anxt=anow;anxt[i][j]=1;intnx=i,ny=j;forr(s,1,2){nx+=dx[d],ny+=dy[d];if(nx<0||nx>3||ny<0||ny>3||anxt[nx][ny])break;anxt[nx][ny]=1;intnxt=array_to_num(anxt);dfs(nxt);st[now]|=(st[nxt]==0);}}}}}}voidinit(){// 预处理出每个棋局的状态st[65535]=0;// 对先手必败dfs(0);}voidsolve(){vector<vector<int>>mp(5,vector<int>(5));intnum=0;forr(i,0,7){forr(j,0,min(i,7-i-1)){// cout<<i<<' '<<j<<endl;charc;cin>>c;intid;if(i<=3)id=i+j*3;elseid=(3+(i-3)*4+j*3);intx=id/4,y=id%4;mp[x][y]=(c=='*');}}cout<<(st[array_to_num(mp)]?"Alice":"Bob")<<endl;}signedmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int_=1;init();// cout<<cnt<<endl;cin>>_;while(_--){solve();}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 0:34:38

华为ENSP实战:三层交换机静态路由打通多VLAN网络

1. 实验环境搭建与设备准备 第一次接触华为ENSP模拟器时&#xff0c;我被它高度仿真的操作界面惊艳到了。这个完全免费的软件完美复刻了真实华为设备的操作逻辑&#xff0c;特别适合我们这些想学习企业级网络配置又没条件接触真机的用户。这次实验我们需要准备两台华为S5700三层…

作者头像 李华
网站建设 2026/4/24 0:33:35

实战指南:利用JMeter插件高效完成gRPC接口自动化测试

1. 为什么选择JMeter测试gRPC接口&#xff1f; 第一次接触gRPC接口测试时&#xff0c;我尝试过Postman、SoapUI等工具&#xff0c;但发现它们要么不支持gRPC协议&#xff0c;要么配置过程极其复杂。直到发现了JMeter的gRPC Request插件&#xff0c;测试效率直接提升了3倍。这个…

作者头像 李华
网站建设 2026/4/24 0:31:18

C++基础(六)——数组与字符串

家人们好呀&#xff01;&#xff01;&#xff01; 如果你要把全班50个学生的成绩存起来&#xff0c;难道要定义score1、score2、score3……一直到score50吗&#xff1f;那你的代码会像超市小票一样长得让人绝望。 幸运的是&#xff0c;C早就帮你准备好了解决方案——数组&#…

作者头像 李华
网站建设 2026/4/24 0:30:18

Cursor-Free-VIP:突破AI编程助手限制的终极解决方案

Cursor-Free-VIP&#xff1a;突破AI编程助手限制的终极解决方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial…

作者头像 李华
网站建设 2026/4/24 0:29:17

智慧树刷课插件终极指南:3分钟安装,彻底解放你的学习时间

智慧树刷课插件终极指南&#xff1a;3分钟安装&#xff0c;彻底解放你的学习时间 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台繁琐的视频播放流程而…

作者头像 李华