字节跳动ZJ1->附加题(跳房子) !!

附加题

http://www.nowcoder.com/questionTerminal/58b04ed2865f4ff4921290f1bd4ee486

1. 题目意思[写博客为了记录一下这道题我很困扰]

1.老实说,题目意思我都没读懂。。。按照例子走,刚开始的1算访问次数,但不算移动次数的。对于移动的思路我是一点没理清楚。。还想多了会不会有pi到不了后面的情况。。肯定不会啊,题目都没说到不了输出情况测试数据肯定不会那么邪门。
2. 观摩大佬的思路皮皮浔,此时p[i]门变为奇数次,其他的暂时任为偶数次,因为是奇数嘛其他都是偶数/原本的0次,所以再回去就变为了第一次到n-1移动的次数减去第一次到p[n-1]的次数。关于加两次1,第一次是n-1的奇数次跳转,第二次是偶数次到达目标的跳转。
图片说明

2.源代码

#include <iostream>
using namespace std;

long long p[1001], dp[1001], n;//全局变量初始化为0  题目意思应该是说刚开始的房间1不算移动 此时 但计入第一次访问
const long long mod = 1e9 + 7;

int main (){
    cin >> n;
    for (int i = 1; i<= n; i++) 
        cin >> p[i];
    for (int i = 2; i<= n+1; ++i) //2到n+1 这边房间数一定>=2
        dp[i] = (2 * dp[i-1] - dp[p[i-1]] + 2) % mod;
    cout << (dp[n + 1] < 0 ? dp[n + 1] + mod : dp[n + 1]);
}

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-16 02:48
门头沟学院_2022
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-16 14:39
门头沟学院_2024
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
18 1 评论
分享

全站热榜

正在热议