UVa 653 Gizilch
题目描述游戏“Gizilch\texttt{Gizilch}Gizilch”的规则很简单有100100100颗葡萄分别标有编号111到100100100。两名玩家的初始得分均为111他们比赛吃葡萄每吃一颗葡萄就将自己的得分乘以该葡萄的编号。一分钟后剩余葡萄被松鼠吃掉玩家报告自己的最终得分即所吃葡萄编号的乘积。得分较高者被认为是非正式胜者但官方胜者需要经过质疑。得分较低的玩家有权质疑对手的得分且假定低分者说真话因为若他说谎他会编造一个更大的分数。如果高分者的得分无法通过未被他质疑玩家吃掉的葡萄得到则挑战成功低分者获胜。给定两个不相等的正整数字符表示两个玩家声称的得分。要求输出官方胜者的得分。输入格式输入包含若干行每行两个不相等的正整数表示两个玩家的得分。输出格式对于每一对得分输出一行即官方胜者的得分。样例输入343 49 3599 610 62 36输出49 610 62题目分析本题的核心是判断两个得分是否可以被两组互不重复的葡萄编号111到100100100通过乘积表示。如果存在这样的两组分解则两人均可说真话高分者获胜如果低分者无法被任何合法分解表示则低分者肯定说谎高分者获胜否则低分者可表示但高分者无法表示或与低分者所有分解都冲突则低分者获胜。更形式化地设低分aaa高分bbb。令F(x)F(x)F(x)为将xxx分解为111到100100100之间的互不相同的整数因子的乘积的所有可能集合每个集合中的因子按升序排列。若F(a)∅F(a) \emptysetF(a)∅则aaa不可能实现输出bbb。否则若F(b)∅F(b) \emptysetF(b)∅则bbb不可能实现输出aaa因为低分可能高分不可能挑战成功。否则检查是否存在Sa∈F(a)S_a \in F(a)Sa​∈F(a)和Sb∈F(b)S_b \in F(b)Sb​∈F(b)使得Sa∩Sb∅S_a \cap S_b \emptysetSa​∩Sb​∅。若存在则两人可同时说真话输出bbb否则无论高分如何分解都会与低分的所有分解产生冲突即高分者必然说谎输出aaa。解题思路枚举所有可能的分解由于葡萄编号最大100100100得分可能很大但不超过100!100!100!但输入得分不会太大实际上样例中得分为整数且可能较大但搜索时只需分解到因子不超过100100100。对每个得分使用深度优先搜索DFS\texttt{DFS}DFS生成所有可能的分解方式。搜索时因子按升序选择避免重复组合且每个因子只能使用一次。冲突检测对于低分的每一种分解SaS_aSa​检查是否存在高分的某一种分解SbS_bSb​与SaS_aSa​无交集。若存在则返回真两人可同时说真话。否则返回假。判定流程输入两数aaa和bbb确保aba bab。分别生成aaa和bbb的所有分解。若F(a)F(a)F(a)为空输出bbb。否则若F(b)F(b)F(b)为空输出aaa。否则若存在无冲突的分解组合输出bbb否则输出aaa。复杂度分析得分分解数量有限因为因子必须互异且不超过100100100搜索深度不超过因子个数最多777个因为2×3×5×7×11×13×171002 \times 3 \times 5 \times 7 \times 11 \times 13 \times 17 1002×3×5×7×11×13×17100但实际可能更多小因子但最大分解数不会太大。每个得分最多生成几百个分解冲突检测为O(∣F(a)∣⋅∣F(b)∣)O(|F(a)| \cdot |F(b)|)O(∣F(a)∣⋅∣F(b)∣)完全可接受。代码实现// Gizilch// UVa ID: 653// Verdict: Accepted// Submission Date: 2017-06-07// UVa Run Time: 0.010s//// 版权所有C2017邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;structstate{intscore;vectorintgrapes;};boolreferee(vectorvectorintpossible1,vectorvectorintpossible2){for(inti0;ipossible1.size();i){setintused;for(intk0;kpossible1[i].size();k)used.insert(possible1[i][k]);for(intj0;jpossible2.size();j){boolconflictedfalse;for(intk0;kpossible2[j].size();k)if(used.find(possible2[j][k])!used.end()){conflictedtrue;break;}if(!conflicted)returntrue;}}returnfalse;}intmain(){cin.tie(0),cout.tie(0),ios::sync_with_stdio(false);intscore1,score2;while(cinscore1score2){if(score1score2)swap(score1,score2);vectorvectorintpossible1,possible2;queuestateunvisited;unvisited.push(state{score1,vectorint()});while(!unvisited.empty()){state currentunvisited.front();unvisited.pop();if(current.score1){possible1.push_back(current.grapes);continue;}intstart0;if(current.grapes.size()0)startcurrent.grapes.back();for(intistart1;i100;i)if(current.score%i0){state nextcurrent;next.scorecurrent.score/i;next.grapes.push_back(i);unvisited.push(next);}}unvisited.push(state{score2,vectorint()});while(!unvisited.empty()){state currentunvisited.front();unvisited.pop();if(current.score1){possible2.push_back(current.grapes);continue;}intstart0;if(current.grapes.size()0)startcurrent.grapes.back();for(intistart1;i100;i)if(current.score%i0){state nextcurrent;next.scorecurrent.score/i;next.grapes.push_back(i);unvisited.push(next);}}if(possible1.size()0)coutscore2\n;else{if(possible2.size()0)coutscore1\n;else{if(referee(possible1,possible2))coutscore2\n;elsecoutscore1\n;}}}return0;}总结本题通过枚举所有可能的葡萄组合分解并检查是否存在无冲突的组合从而判断双方是否可能同时说真话进而确定官方胜者。关键点在于正确理解规则优先级并实现高效的分解枚举和冲突检测。由于得分分解数量有限暴力搜索完全可行。该解法清晰直观适合作为组合枚举和集合交集判断的练习。

相关新闻

huggingface_hub 0.22.0 下载优化:snapshot_download 并发下载 10GB 模型提速 3 倍

huggingface_hub 0.22.0 下载优化:snapshot_download 并发下载 10GB 模型提速 3 倍

Hugging Face Hub 0.22.0 下载优化:snapshot_download 并发下载 10GB 模型提速 3 倍实战指南1. 为什么需要优化大模型下载?在自然语言处理和计算机视觉领域,模型体积正以惊人的速度增长。以 LLaMA-2 70B 为例,其完整权重文件超过 …

2026/7/11 17:55:21阅读更多 →
中科院:AI大模型“更努力学习“反而更容易忘光,真相让人意外

中科院:AI大模型“更努力学习“反而更容易忘光,真相让人意外

这项由香港创新科技及工业局人工智能与机器人研究所(HKISI-CAS)、中国科学院自动化研究所、中国科学院大学以及南京理工大学联合开展的研究,于2026年7月2日发布在arXiv预印本平台,论文编号为arXiv:2607.01763v1,有兴趣…

2026/7/11 17:55:21阅读更多 →
TB67H480FNG与PIC18F85J10在电机控制中的黄金组合应用

TB67H480FNG与PIC18F85J10在电机控制中的黄金组合应用

1. 为什么选择TB67H480FNG与PIC18F85J10这对黄金组合在电机控制和嵌入式系统开发领域,芯片选型往往直接决定项目的成败。TB67H480FNG作为东芝新一代步进电机驱动芯片,与Microchip的PIC18F85J10微控制器搭配,形成了工业级应用的经典方案。这套…

2026/7/11 17:55:21阅读更多 →
基于MossFormer2与多模态融合的AI语音清晰化智能解决方案

基于MossFormer2与多模态融合的AI语音清晰化智能解决方案

基于MossFormer2与多模态融合的AI语音清晰化智能解决方案 【免费下载链接】ClearerVoice-Studio An AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speaker Extraction, etc. 项目地…

2026/7/11 18:55:25阅读更多 →
IOMMU/SMMU 地址转换全流程:从 IOVA 到 PA 的 3 级页表与 ATS 缓存机制

IOMMU/SMMU 地址转换全流程:从 IOVA 到 PA 的 3 级页表与 ATS 缓存机制

IOMMU/SMMU 地址转换全流程:从 IOVA 到 PA 的 3 级页表与 ATS 缓存机制现代计算系统中,设备直接内存访问(DMA)已成为提升性能的关键技术。然而,随着系统复杂度的增加,如何安全高效地管理设备对内存的访问成…

2026/7/11 18:55:25阅读更多 →
Grok AI模型免费访问实战:技术特性、多平台集成与开发指南

Grok AI模型免费访问实战:技术特性、多平台集成与开发指南

最近AI圈又炸了!Grok 4.3刚解除限制,4.5版本的消息就满天飞。很多开发者都在问:这个号称"最叛逆"的AI模型到底值不值得投入时间?免费使用是真的还是噱头?手机和PC端都能用吗?作为一个长期关注AI工…

2026/7/11 18:55:25阅读更多 →
VMware Unlocker 4.2.9完整指南:在普通PC上解锁macOS虚拟化能力

VMware Unlocker 4.2.9完整指南:在普通PC上解锁macOS虚拟化能力

VMware Unlocker 4.2.9完整指南:在普通PC上解锁macOS虚拟化能力 【免费下载链接】unlocker VMware macOS utilities 项目地址: https://gitcode.com/gh_mirrors/unl/unlocker 想要在Windows或Linux系统上运行macOS虚拟机却受限于硬件兼容性?VMwar…

2026/7/11 18:55:25阅读更多 →
终极指南:用QLVideo增强macOS视频预览功能

终极指南:用QLVideo增强macOS视频预览功能

终极指南:用QLVideo增强macOS视频预览功能 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://gitcode.com/gh_mi…

2026/7/11 18:55:25阅读更多 →
GTAIV.EFLC.FusionFix终极指南:让经典GTA4在现代PC上焕发新生

GTAIV.EFLC.FusionFix终极指南:让经典GTA4在现代PC上焕发新生

GTAIV.EFLC.FusionFix终极指南:让经典GTA4在现代PC上焕发新生 【免费下载链接】GTAIV.EFLC.FusionFix This project aims to fix or address some issues in Grand Theft Auto IV: The Complete Edition 项目地址: https://gitcode.com/gh_mirrors/gt/GTAIV.EFLC.…

2026/7/11 18:50:25阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/11 18:37:06阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/11 15:18:12阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/11 15:11:32阅读更多 →
Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

1. 为什么2025版PR安装比以往更“磨人”?——从弹窗警告到路径陷阱的真实处境 Premiere Pro 2025版不是简单的一次版本迭代,它是一道分水岭。我从去年底开始帮影视工作室、高校剪辑实验室和自由职业者部署2025环境,累计处理了137台设备&#…

2026/7/11 0:03:43阅读更多 →
5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-so…

2026/7/11 0:03:43阅读更多 →
5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:03:43阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/11 16:20:28阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/10 22:20:33阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/11 18:12:23阅读更多 →