尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

D - Deductive Snooker Scoring

D - Deductive Snooker Scoring
📅 发布时间:2026/6/19 15:00:15

[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;
}

相关新闻

  • 从零开始的C++学习生活 7:vector的入门使用 - 教程
  • NProgress 给 Vue 路由切换加个 “假” 进度条提升用户体验
  • 数组的定义、访问、输出

最新新闻

  • 杭州GEO优化公司2026年6月Top5:选型疑问与避坑全解 - GEO优化
  • 2026年最新武汉光谷科技职业技术学校联系方式及招生办电话号码 - 武汉中职最新信息发布
  • 揭秘Mac鼠标滚轮终极优化:让外接鼠标拥有触控板般的丝滑体验
  • MC9RS08KA2内部时钟与定时器深度解析:从原理到低功耗设计实战
  • 2026玉林本地人必选防水补漏检测维修公司靠谱服务商TOP5推荐:房屋渗漏水检测维修/卫生间/厨房/天花板/阳台/外墙渗漏水检测补漏维修-暗管漏水检测专业仪器精准定位漏水点 - 即刻修防水
  • PingFangSC字体实战:现代Web开发中的跨平台中文字体终极配置指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号