hi.小跳蛙 |
您所在的位置:网站首页 › 有个小方块跳来跳去的游戏 › hi.小跳蛙 |
[语言月赛 202401] 小跳蛙
题目描述
有 n − 1 n - 1 n−1 只小跳蛙在池塘中,依次被编号为 1 , 2 , ⋯ , n − 1 1, 2, \cdots, n - 1 1,2,⋯,n−1。池塘里有 n n n 个位置,每一个位置上有一个数字 a i a_i ai。如果 a i = 0 a_i = 0 ai=0,则表示这个位置是一个空位;否则表示这个位置上存在一个编号为 a i a_i ai 的小跳蛙。 接下来的 n − 1 n-1 n−1 分钟,小跳蛙们将进行跳跃。第 i i i 分钟,编号为 i i i 的小跳蛙将跳到空位上。 请你输出 n − 1 n-1 n−1 分钟后池塘中每个位置的数字,即每个位置是否为空、小跳蛙编号是多少。 输入格式输入共两行。 第一行一个整数 n n n。 第二行 n n n 个整数 a 1 , a 2 , ⋯ , a n a _ 1, a _ 2, \cdots, a _ n a1,a2,⋯,an。 输出格式输出一行 n n n 个整数 a 1 , a 2 , ⋯ , a n a _ 1, a _ 2, \cdots, a _ n a1,a2,⋯,an。 表示 n − 1 n-1 n−1 分钟后池塘的状态。 样例 #1 样例输入 #1 5 1 2 0 3 4 样例输出 #1 2 3 1 4 0 提示说明因此最终池塘的状态为 2 3 1 4 0 数据规模与约定对于 50 % 50\% 50% 的数据,满足 1 ≤ n ≤ 1 0 3 1 \leq n \leq 10 ^ 3 1≤n≤103。 对于 100 % 100\% 100% 的数据,满足 1 ≤ n ≤ 1 0 6 1 \leq n \leq 10^6 1≤n≤106,保证序列 a a a 是一个 0 ∼ n − 1 0 \sim n - 1 0∼n−1 这些数字的排列。 代码内容 // #include // #include // #include // #include //栈 // #include //队列 // #include //堆/优先队列 // #include //映射 // #include //哈希表 // #include //容器,存数组的数,表数组的长度 #include using namespace std; typedef long long ll; const ll N=1e6+10; ll a[N]; int main() { ll n ; cin>>n; for(ll i=1;i>a[i]; for(ll i=1;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |