这道题怎么说呢……开始看题目翻译也是一脸懵,然后直接就看了样例解释,然后:瞬间明白!
所以:
样例解释YYDS!
样例解释YYDS!!
样例解释YYDS!!!
停停停不开玩笑了。
仍旧是分步解决问题(诶不是怎么突然联想到了加法原理):
-
输入(每道题几乎都有的东西~~~),不用多说,按照题目要求解决。
-
循环。这一步如果你不看样例解释,你就会被题目绕得一脸懵逼。首先,我们需要一个变量判断空位数量。注意:千万别定义到循环里去了。随便你定义到主函数还是全局,千万不能定义到循环里头!否则……
如果你有勇气可以去试试(bushi然后,重要的就来了!按照样例解释,思路就是:如果空位为 0 或者剩下的空位这一组人坐不下,那么我们就需要吸引一次。否则,这一组人就可以坐下。重要的来了:最后一次循环结束也要吸引!否则,你就会发现:你的结果会比正确结果少 1。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
//仍旧是那个熟悉的输入~~~
cin>>n>>k;
int a[n+5];
int ans=0;
int num=k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
//循环,走起!(其实还是遍历)
for(int i=1;i<=n;i++)
{
//判断,看看剩下的空位够不够这组人坐。
if(a[i]>num)
{
ans++;
num=k;
num-=a[i];
}
else
{
num-=a[i];
}
}
//输出。
cout<<ans+1;
return 0;
}
标签:YYDS,abc,解释,int,题解,样例,num,353,循环
From: https://www.cnblogs.com/liuxingmiaoYYDS/p/18188261/abc-353-b-tj