【题目链接】
ybt 4017:【GESP2309三级】小杨的储蓄
洛谷 B3867 [GESP202309 三级] 小杨的储蓄
【题目难度】E
【题目考点】
1. 一维数组
【解题思路】
设 m m m数组,m[i]表示第 i i i号储钱罐保存的钱数,储钱罐的编号从0到 n − 1 n-1 n−1。
题目给定了 n ≤ 1000 n\le 1000 n≤1000,所以数组长度设为1005.
一开始每个储钱罐中都只有0元,因此数组 m m m的各元素初值为0。
第 i i i天会向第 a a a个储钱罐存 i i i元钱,因此要让第 a a a个储钱罐的钱数增加 i i i,即m[a] += i。
最后依次输出第0到第n-1个储钱罐保存的钱数。
【题解代码】
解法1:一维数组
cpp
#include<bits/stdc++.h>
using namespace std;
int n, d, a, m[1005];//m[i]:第i号储钱罐存的钱
int main()
{
cin >> n >> d;
for(int i = 1; i <= d; ++i)
{
cin >> a;
m[a] += i;
}
for(int i = 0; i < n; ++i)
cout << m[i] << ' ';
return 0;
}