===================================================================
/**
思路:1.将这段路程的最大值跟 n进行比较 如果比其大就直接输出 No Solution!
2.否则的话就是每段路程在加满油的情况下均能过去
3.如果可以过去,那么当路程m小于n时,对n进行更新 n = n-m;然后在进行判断下一段路程
跟n的关系,如果m大于n那么就加油,同时进行计数
*/
#include<bits/stdc++.h>
using namespace std;
int n,k;
int res(vector& v,int val){
int maxx = 0,cnt = 0;
for(int i = 0; i < v.size(); i++){
maxx = max(maxx,v[i]);
}
if(maxx > n){
return -1;
}
for(int i = 0; i < v.size(); i++){
if(n >= v[i]){
n = n - v[i];
}else{
n = val;
n = n - v[i];
cnt++;
//cout << n << ’ ';
}
// cout << v[i] << ’ ';
}
return cnt;
}
int main(){
vectorv;
cin >> n >> k;
for(int i = 0; i < k+1; i++){
int num;
cin >> num;
v.push_back(num);
}
int temp = res(v,n);
if(temp == -1){
cout << “No Solution!”;
}else{
// cout << endl;
cout << temp;
}
最后
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
[外链图片转存中…(img-a5F6jyZM-1714257750657)]
[外链图片转存中…(img-JVtFB6Uo-1714257750658)]