版权声明:Johnson https://blog.csdn.net/m0_38055352/article/details/91046495
这段时间要沉迷刷题一段时间了,就让CSDN陪我一起吧!
一、题目大意
题目的大致意思就是,有一个卖游戏的店,有n个游戏,第i个游戏的价格是c[i],从左至右排列,有一个小朋友要买游戏,他钱包里有m个硬币,第i个硬币的价值是a[i],然后小朋友是这样买游戏的,要按从左走到右的顺序买,并且每次只能使用最左边的硬币购买,买不了的话就跳过这个游戏,直到能买为止,然后下一个硬币就又作为了最左边的硬币,重复这个过程,知道小朋友走到最右边,则离开商店,问小朋友最终买的游戏的个数?
二、题目思路以及AC代码
这道题没有什么好说的,题虽然长,但其实就是个简单的模拟题目。
下面给出AC代码:
#include <iostream>
#define MAX 1010
using namespace std;
int n, m;
int a[MAX];
int c[MAX];
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> c[i];
}
for (int i = 1; i <= m; i++) {
cin >> a[i];
}
int ans = 0;
int i = 1, j = 1;
while (i <= n) {
if (j > n) {
break;
}
if (a[j] >= c[i]) {
ans++;
j++;
i++;
}
else {
i++;
}
}
cout << ans << endl;
return 0;
}
如果有问题,欢迎大家指正!!!