当前位置: 首页 > news >正文

D - Deductive Snooker Scoring

[https://qoj.ac/contest/2567/problem/14709]

题意:

斯诺克台球,给出最后的选手A和选手B的得分,以及最后到谁打了,构造一个合法操作序列使得最后结果为给出结果

思路:

记忆化搜索:f[i][j][lft][k][op] 表示 选手A得分为i,选手B得分为j,剩下的球的总数为lft,到选手k打了,比赛阶段(第一阶段打红球,第二阶段打彩球且放回,第三阶段清台)

发现不需要知道红球多少个,彩球多少个才能知道比赛进行的阶段,因为一定是红球先打完。所以剩下来的球小于等于6个时,一定进入清台阶段

int a,b,n,p;
string f[202][202][22][2][3];//op:0 1 2
//三个阶段//A:选手A得分
//B:选手B得分
//lft:当前剩余的球的总数
//k:当前击球的选手
//op:阶段
//s:字符串void dfs(int A,int B,int lft,int k,int op,string s){if(f[A][B][lft][k][op].size())return ; f[A][B][lft][k][op]=s;if(!lft)return;if(op==0){if(k==0)dfs(A+1,B,lft-1,k,op+1,s+'1');//选手A进入第二阶段else    dfs(A,B+1,lft-1,k,op+1,s+'1');//选手B进入第二阶段// dfs(A,B,lft,k^1,op,s+'/');//第一阶段没打进}if(op==1){for(int i=7;i>=2;i--){//枚举彩球if(k==0)dfs(A+i,B,lft,k,lft>=7?0:2,s+(char)('0'+i));else    dfs(A,B+i,lft,k,lft>=7?0:2,s+(char)('0'+i));}// dfs(A,B,lft,k^1,op-1,s+'/');//第二阶段没打进}if(op==2){if(k==0)dfs(A+8-lft,B,lft-1,k,op,s+(char)('0'+(8-lft)));else    dfs(A,B+8-lft,lft-1,k,op,s+(char)('0'+(8-lft)));// dfs(A,B,lft,k^1,op,s+'/');}dfs(A,B,lft,k^1,lft>=7?0:2,s+'/');
}void solve(){cin>>a>>b>>n>>p;if(a==0&&b==0&&n==21&&p==0){cout<<endl;return;}for(int i=0;i<=2;i++){if(f[a][b][n][p][i].size()){cout<<f[a][b][n][p][i]<<endl;return;}}cout<<"NA"<<endl;
}signed main()
{ios::sync_with_stdio(false),cin.tie(0);int T=1;
cin>>T;
dfs(0,0,21,0,0,"");while(T--){solve();}return 0;
}
http://www.jsqmd.com/news/36661/

相关文章:

  • MySQL性能优化|InnoDB存储引擎深度解析:从表空间到数据行的设计哲学 - 指南
  • 从零开始的C++学习生活 7:vector的入门使用 - 教程
  • .net9 BundlerMinifier与StaticWebAssets冲突
  • 淘宝店铺全量商品接口实战:分类穿透采集与增量同步的技术方案
  • 分治+字符串(p3612)
  • Python详细学习教程
  • ubuntu 安装使用 qemu
  • TypeScript 中的策略模式
  • NProgress 给 Vue 路由切换加个 “假” 进度条提升用户体验
  • 2025年钢结构艺术造型直销厂家权威推荐榜单:钢结构景观造型/艺术钢结构/扭曲螺旋钢结构艺术造型源头厂家精选
  • 伊克罗德信息成为 Dify 官方代理商,携手共创企业级 Agentic AI 应用新未来!
  • 数组的定义、访问、输出
  • 2025年沼气直燃品牌综合评测:徐州海德测控领跑行业
  • 2025年沼气直燃生产厂家实力对比:徐州海德测控领跑
  • 2025年市场低氮燃烧器供应商前十强
  • 2025年沼气直燃品牌排名前十:徐州海德测控领跑行业创新
  • 2025年低氮燃烧器制造企业top10:行业排名与深度解析
  • 封装电气性能新径
  • 在Docker中live-restore
  • 11月10日打卡
  • 2025年11月安徽省矿用设备安全检测检验企业口碑榜
  • 从局部性原理到一致性模型:深入剖析缓存设计的核心权衡
  • P3625 采油区域-分类讨论
  • 12345A 景区 区别
  • 2025年贴标机生产厂家前十强权威排名:彩航包装领跑行业
  • FastApi Linux 部署
  • 方格染色-并查集
  • 逆向基础--数据传输指令mov和xchg (10)
  • P8186-传递闭包
  • MCU电路为什么要使用复位芯片?