文库 真题 信息学奥赛

2023年信息学奥赛NOI省选真题

NOI省选真题 PDF   12页   下载0   2024-02-22   浏览287   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2023年信息学奥赛NOI省选真题 第1页
2023年信息学奥赛NOI省选真题 第2页
剩余10页未读, 下载浏览全部
NOI2023省选 DAY2 时间: 2023年4月 2日 08:30 ∼13:00 题目名称 过河卒 填数游戏 染色数组 题目类型 传统型 传统型 传统型 目录 zu game color 可执行文件名 zu game color 输入文件名 zu.in game.in color.in 输出文件名 zu.out game.out color.out 每个测试点时限 1.0秒 2.0秒 3.0秒 内存限制 1 GiB 1 GiB 1 GiB 测试点数目 20 25 20 测试点是否等分 是 是 是 提交源程序文件名 对于 C++ 语言 zu.cpp game.cpp color.cpp 编译选项 对于 C++ 语言 ‐O2 ‐std=c++14 ‐static .注 .意 .事 .项( .请 .仔 .细 .阅 .读) 1. 文件名(程序名和输入输出文件名)必须使用英文小写。 2. C/C++ 中函数main()的返回值类型必须是 int,程序正常结束时的返回值必须 是 0。 3. 提交的程序代码文件的放置位置请参考各省的具体要求。 4. 因违反以上三点而出现的错误或问题,申诉时一律不予受理。 5. 若无特殊说明,结果的比较方式为全文比较(过滤行末空格及文末回车)。 6. 选手提交的程序源文件必须不大于 100KB。 7. 程序可使用的栈空间内存限制与题目的内存限制一致。 8. 全国统一评测时采用的机器配置为: Intel(R) Core(TM) i7-8700K CPU @3.70GHz , 内存 32GB 。上述时限以此配置为准。 9. 只提供 Linux格式附加样例文件。 10. 评测在当前最新公布的 NOI Linux下进行,各语言的编译器版本以此为准。 NOI2023 省选 DAY2过河卒( zu) 过河卒(zu) 【题目背景】棋盘上有一个过河卒,需要走到底线。卒行走的规则是可以向左移动一格,向右移 动一格或者向前移动一格。同时在棋盘上有两个另一方的棋子,需要拦截这个卒走到底 线。这两个棋子的走法和帅一致,可以走到前后左右四个方向上相邻的格子。因此本题 可以称为“帅拦过河卒”。 【题目描述】有一个 n行 m列的棋盘。我们用 (i, j )表示第 i行第 j列的位置。棋盘上有一些 障碍,还有一个黑棋子和两个红棋子。 游戏的规则是这样的:红方先走,黑方后走,双方轮流走棋。红方每次可以选择一 个红棋子,向棋盘的相邻一格走一步。具体而言,假设红方选择的这个棋子位置在 (i, j ), 那么它可以走到 (i − 1, j ), (i + 1 , j), (i, j −1),(i, j + 1) 中的一个,只要这个目的地在棋 盘内且没有障碍且没有红方的另一个棋子。 黑方每次可以将自己的棋子向三个方向之一移动一格。具体地,假设这个黑棋子位 置在 (i, j ),那么它可以走到 (i − 1, j ), (i, j −1),(i, j + 1) 这三个格子中的一个,只要这 个目的地在棋盘内且没有障碍。 在一方行动之前,如果发生以下情况之一,则立即结束游戏,按照如下的规则判断 胜负(列在前面的优先): • 黑棋子位于第一行。此时黑方胜。 • 黑棋子和其中一个红棋子在同一个位置上。此时进行上一步移动的玩家胜。 • 当前玩家不能进行任何合法操作。此时对方胜。 现在假设双方采用最优策略,不会进行不利于自己的移动。也就是说: • 若存在必胜策略,则会选择所有必胜策略中,不论对方如何操作,本方后续获胜 所需步数最大值最少的操作。 • 若不存在必胜策略,但存在不论对方如何行动,自己都不会落败的策略,则会选 择任意一种不败策略。 • 若不存在不败策略,则会选择在所有策略中,不论对方如何操作,对方后续获胜 所需步数最小值最大的操作。 如果在 100100 100 个回合之后仍不能分出胜负,则认为游戏平局。请求出游戏结束时 双方一共移动了多少步,或者判断游戏平局。 【输入格式】从文件 zu.in中读入数据。 .本 .题 .有 .多 .组 .测 .试 .数 .据。 第2页 共 12 页 NOI2023 省选 DAY2过河卒( zu) 输入的第一行包含两个整数 id, T ,分别表示测试点编号和数据组数。特别地,样例 的 id为 0。 接下来包含 T组数据,每组数据的格式如下: 第一行包含两个正整数 n, m,表示棋盘的行数和列数。 接下来 n行,每行包含一个长度为 m的字符串,其中第 i行的第 j个字符表示棋 盘上 (i, j )这个位置的状态。 在这些字符中: '.' 表示空位;'#' 表示障碍物;'X' 表示黑棋;'O' 表示红棋。 保证黑棋恰好有一个,红棋恰好有两个,且黑棋不在第一行。 【输出格式】输出到文件 zu.out中。 对于每组数据,输出一行字符串。 如果游戏平局,请输出一行 "Tie" 。 如果红方胜,请输出一行 "Red t" 。其中t 为游戏结束时双方移动的步数之和。显 然这应该是一个奇数。 如果黑方胜,请输出一行 "Black t" 。其中t 为游戏结束时双方移动的步数之和。 显然这应该是一个偶数。 注意,请输出双引号内的字符串,不包含双引号。 【样例 1输入】 1 0 5 2 4 5 3 ...#O 4 .#..# 5 #O#.. 6 .#..X 7 3 3 8 #.# 9 O.O 10 .X. 11 3 3 12 O.. 13 .#X 14 .O. 15 5 5 16 ..... 第3页 共 12 页 NOI2023 省选 DAY2过河卒( zu) 17 ..... 18 ..O.. 19 #..#. 20 O#.X. 21 9 9 22 ...###### 23 .#....... 24 .#######. 25 .#.#..... 26 .#O#.#### 27 .#.#..... 28 .#######. 29 .#X...... 30 .O....... 【样例 1输出】 1 Black 0 2 Black 2 3 Black 2 4 Tie 5 Red 75 【样例
2023 noi省选day2,2023年信息学奥赛NOI省选真题
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明