AT_abc256_b.[ABC256B] Batters
入门
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君想制作一个以棒球为主题的游戏,但他在编写代码时遇到了困难。
请你替高桥君编写一个程序,解决下面的问题。
有 4 个格子,编号分别为 0、1、2、3。初始时所有格子上都没有棋子。
还有一个整数 P,初始时 P=0。
给定一个由正整数组成的数列 A=(A1,A2,…,AN),对于 i=1,2,…,N,依次进行如下操作:
- 在格子 0 上放置 1 个棋子。
- 将所有棋子向编号增加 Ai 的格子移动。换句话说,如果某个棋子在格子 x 上,则将其移动到格子 x+Ai 上。
但如果移动后的格子不存在(即 x+Ai≥4),则将这些棋子移出棋盘,并将被移出的棋子数量加到 P 上。
请输出所有操作结束后 P 的值。
输入格式
输入以如下格式从标准输入给出。
N A1 A2 … AN
输出格式
请输出操作结束时 P 的值。
输入输出样例
输入#1
4 1 1 3 2
输出#1
3
输入#2
3 1 1 1
输出#2
0
输入#3
10 2 2 4 1 1 1 4 2 2 1
输出#3
8
说明/提示
限制条件
- 1≤N≤100
- 1≤Ai≤4
- 输入的所有值均为整数
样例解释 1
操作过程如下,操作结束时 P 的值为 3。
-
i=1 时的操作
- 在格子 0 上放置一个棋子。此时格子 0 上有一个棋子。
- 将所有棋子向前移动 1 个格子。移动后,格子 1 上有一个棋子。
-
i=2 时的操作
- 在格子 0 上放置一个棋子。此时格子 0 和格子 1 上各有一个棋子。
- 将所有棋子向前移动 1 个格子。移动后,格子 1 和格子 2 上各有一个棋子。
-
i=3 时的操作
- 在格子 0 上放置一个棋子。此时格子 0、1、2 上各有一个棋子。
- 将所有棋子向前移动 3 个格子。此时,格子 1 和格子 2 上的棋子移动后分别到达 4 和 5,超出了格子范围,因此被移出棋盘,P 增加 2,此时 P=2。移动后,格子 3 上有一个棋子。
-
i=4 时的操作
- 在格子 0 上放置一个棋子。此时格子 0 和格子 3 上各有一个棋子。
- 将所有棋子向前移动 2 个格子。此时,格子 3 上的棋子移动后到达 5,超出了格子范围,因此被移出棋盘,P 增加 1,此时 P=3。移动后,格子 2 上有一个棋子。
样例解释 2
在操作过程中,P 的值也有可能不会发生变化。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?