华为OD机试跳房子2

跳房子的过程中,如果有踩线等违规行为会结束当前回合,甚至可能倒退几步.假设房子的总格数是count.小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红三个回合跳到最后一格?如果有,请输出索引和最小的步数组合(数据保证索引和最小的步数组合是唯一的)。注意:数组中的步数可以重复,但数组中的元素不能重复使用

输入描述:

第一行输入为房子总格数count,它是int整数类型

第二行输入为每回合可能连续跳的步数,它是int整数数组类型

输出描述

返回索引和最小的满足要求的步数组合(顺序保持steps中原有顺序)

示例

输入:

[1,4,5,2,0,2]

输出

[4,5,0]

#include <bits/stdc++.h>
using namespace std;
int main() {
    int num = 0;
    cin >> num;
    vector<int>a;
    vector<int>ab;
    int tmp = 0;
    while (cin >> tmp) {
        a.push_back(tmp);
        if (cin.get() == '\n')
            break;
    }
    int i = 0,j = 1,k = 2;
    while (a[i] + a[j] + a[k] != num) {
            k++;
        if (a[i] + a[j] + a[k] != num)
            j++;
        if (a[i] + a[j] + a[k] != num)
            i++;
            }
    if (a[i] + a[j] + a[k] == num) {
            cout << '['<<a[i]<<',' << a[j]<<',' << a[k]<<']';
            }
    else if (a[i] + a[j] + a[k] > num) {
            return -1;
        }
}

全部评论

相关推荐

不是哥们,我投的开发岗啊,也不至于直接调剂销售岗吧
哞客37422655...:先面一面探探口风,真要转销售就得把提成问清楚;说不定还能内部跳回技术,别直接拒。
我的工作日记
点赞 评论 收藏
分享
2025-11-19 18:44
已编辑
成都理工大学 Java
程序员花海:我面试过100+校招生,大厂后端面试不看ACM,竞赛经历含金量低于你有几份大厂实习 这个简历整体来看不错 可以海投
如何写一份好简历
点赞 评论 收藏
分享
ic透明人:美✌️还回来干嘛,npu去英伟达 amd不香吗
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务