news 2026/6/10 3:09:15

《P2421 [NOI2002] 荒岛野人》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《P2421 [NOI2002] 荒岛野人》

题目描述

克里特岛以野人群居而著称。岛上有排列成环形的 m 个山洞。这些山洞顺时针编号为 1,2,…,m。岛上住着 n 个野人,一开始依次住在山洞 C1​,C2​,…,Cn​ 中,以后每年,第 i 个野人会沿顺时针向前走 Pi​ 个洞住下来。

每个野人 i 有一个寿命值 Li​,即生存的年数。

下面四幅图描述了一个有 6 个山洞,住有三个野人的岛上前四年的情况。三个野人初始的洞穴编号依次为 1,2,3;每年要走过的洞穴数依次为 3,7,2;寿命值依次为 4,3,1。

奇怪的是,虽然野人有很多,但没有任何两个野人在有生之年处在同一个山洞中,使得小岛一直保持和平与宁静,这让科学家们很是惊奇。他们想知道,至少有多少个山洞,才能维持岛上的和平呢?

输入格式

第 1 行为一个整数 n(1≤n≤15),即野人的数目。

第 2 行到第 N+1 每行为三个整数 Ci​,Pi​,Li​(1≤Ci​,Pi​≤100,0≤Li​≤106),表示每个野人所住的初始洞穴编号,每年走过的洞穴数及寿命值。

输出格式

仅包含一个数 M,即最少可能的山洞数。输入数据保证有解,且 M 不大于 106。

输入输出样例

输入 #1复制

3 1 3 4 2 7 3 3 2 1

输出 #1复制

6

说明/提示

1≤N≤15,1≤Ci​,Pi​≤100,0≤Li​≤106

保证 M≤106

代码实现:

#include <cstdio> #include <iostream> using namespace std; const int maxn = 20, maxm = 1e6; int len[maxn], pos[maxn], val[maxn]; int n, m; int exgcd(int a, int b, int &x, int &y) { if (!b) { x = 1; y = 0; return a; } int res = exgcd(b, a % b, x, y), t = x; x = y; y = t - a / b * y; return res; } bool check(int i, int j, int b) { int a = pos[j] - pos[i], d = val[i] - val[j], x, y; if (a < 0) a = -a, d = -d; int g = exgcd(a, b, x, y); if (d % g) return 1; return ((x * (d / g) % (b / g) + (b / g)) % (b / g)) > min(len[i], len[j]); } int main() { scanf("%d", &n); for (int i = 1; i <= n; ++i) { scanf("%d%d%d", val + i, pos + i, len + i); m = max(m, val[i]); } for (int i = m; i <= maxm; ++i) { bool ok = 1; for (int j = 1; j <= n && ok; ++j) for (int k = 1; k <= n && ok; ++k) if (k != j && !check(j, k, i)) ok = 0; if (ok) { printf("%d\n", i); break; } } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 22:18:21

华为广告营销大解密:为什么会成为国礼?

华为广告营销 很多人都对华为的广告营销感到惊讶&#xff0c;华为每天多次出现在央视&#xff0c;成为国礼。这样的营销手法真的值得吗&#xff1f;余承东没有搞这样的营销&#xff0c;雷军却不断进行创新。这到底是怎么一回事&#xff1f; 华为近年来频频出现在央视的广告中&a…

作者头像 李华
网站建设 2026/6/10 17:41:18

为 .NET 10 GC(DATAS)做准备

在 .NET 9 中&#xff0c;我们默认启用了 DATAS。但 .NET 9 并不是长期支持&#xff08;LTS&#xff09;版本&#xff0c;因此很多人会在升级到 .NET 10 时首次获得 DATAS。这是一个很艰难的决定&#xff0c;因为 GC 功能通常是不需要用户干预的 —— 但 DATAS 有些不一样。这也…

作者头像 李华
网站建设 2026/6/9 19:12:34

UMAP降维与密度聚类联用:从数据可视化到智能分析的技术进阶

UMAP降维与密度聚类联用&#xff1a;从数据可视化到智能分析的技术进阶 【免费下载链接】umap Uniform Manifold Approximation and Projection 项目地址: https://gitcode.com/gh_mirrors/um/umap 你是否曾经面对过这样的困境&#xff1a;手头拥有海量的高维数据&#…

作者头像 李华
网站建设 2026/6/9 23:33:10

驾驭品牌主权:解析独立站的核心优势与增长吸引力

在全球跨境电商的竞争格局中&#xff0c;独立站&#xff08;Direct-to-Consumer,DTC&#xff09;模式已成为中国品牌实现全球化增长与价值沉淀的关键选择。超店Shoplus作为至真科技旗下的独立站出海成功平台&#xff0c;深刻理解独立站为商家带来的显著优势和持久吸引力。我们致…

作者头像 李华
网站建设 2026/6/10 13:39:23

深度评测:Blender屏幕操作显示工具在教程制作中的实战表现

深度评测&#xff1a;Blender屏幕操作显示工具在教程制作中的实战表现 【免费下载链接】Screencast-Keys Blender Add-on: Screencast Keys 项目地址: https://gitcode.com/gh_mirrors/sc/Screencast-Keys 对于Blender用户来说&#xff0c;制作教程视频时最头疼的问题莫…

作者头像 李华
网站建设 2026/6/10 13:34:09

NetGuard完整指南:简单几步掌控Android应用网络权限

想要彻底解决Android应用偷跑流量、耗电严重的问题吗&#xff1f;NetGuard这款开源网络管理工具正是你需要的解决方案。无需root权限&#xff0c;通过本地网络技术实现精准的网络控制&#xff0c;让每个应用的网络访问权限都在你的掌握之中。本指南将带你从零开始&#xff0c;快…

作者头像 李华