360笔试散步题91% 求解

#include<iostream>
#include<vector>

using namespace std;

vector<int> res;

int M, N;

void findWay(int i, int index, vector<int> &road){
	if (i < 1 || i > N) return;
	if(index == road.size()){
		if (i >= 1 && i <= N)
			res.push_back(i);
		return;
	}

	findWay(i - road[index], index + 1, road);
	findWay(i + road[index], index + 1, road);
}

int main(){
	int tmp;
	cin >> N >> M;

	vector<int> road;
	for (int i = 0; i < M; i++){
		cin >> tmp;
		road.push_back(tmp);
	}

	for (int i = 1; i <= N; i++)
		findWay(i, 0, road);

	vector<int> rres(res.size());
	for (int i = 0; i < res.size(); i++)
		rres[res[i]]++;

	int ways = 0;
	for (int i = 0; i < rres.size();i++)
		if (rres[i] != 0) ways++;

	cout << ways;
	return 0;
}

调测试用例去了。。代码有点丑陋,多担待,差那 9%差在哪了。。。求大佬指错
#360公司##笔试题目#
全部评论
我直接输出8和0就到91%了。。。
点赞 回复 分享
发布于 2019-08-31 18:10
n,m = map(int,input().split()) nums = [] for i in range(m):     nums.append(int(input())) class sol:     def __init__(self): #         self.seen = set()     def dfs(self,nums,n,m,pos,step): # 停止条件:如果是最后一次看时间后走的         if step == m:             if pos not in self.seen:                 self.seen.add(pos)             return # 剪枝 保证始终在坐标轴范围递归         if 1 <= pos + nums[step]  <= n:             a = pos + nums[step]             self.dfs(nums,n,m,a,step+1)         if 1 <= pos - nums[step]  <= n:             b = pos - nums[step]             self.dfs(nums,n,m,b,step+1)         return     def main(self): # 以坐标轴的每个起点为出发点进行递归         for pos in range(1,n+1):             self.dfs(nums,n,m,pos,0)         print(len(self.seen)) test = sol() test.main() 基本思想:DFS + 剪枝 以坐标轴的每个起点为出发点进行递归, 在坐标轴范围内以不同行走方向不断遍历行走,直到最后一次看时间之后
点赞 回复 分享
发布于 2019-08-31 18:20
仔细看了下,这个rres可能会越界
点赞 回复 分享
发布于 2019-08-31 18:19
python可以参考 https://blog.csdn.net/z13653662052/article/details/100175482
点赞 回复 分享
发布于 2019-08-31 18:06
全是大佬  18的不敢说话
点赞 回复 分享
发布于 2019-08-31 18:06
我也是 求解
点赞 回复 分享
发布于 2019-08-31 18:04
5 2 6一定是这个顺序吗?可不可以526,562,256,265,625,652
点赞 回复 分享
发布于 2019-09-02 14:55
res[i]一定小于res.size()吗?
点赞 回复 分享
发布于 2019-09-01 00:50
是不是某些情况下会有两种解
点赞 回复 分享
发布于 2019-08-31 18:54
谁能解释一下样例 为啥是8啊? 10 3 5 2 6
点赞 回复 分享
发布于 2019-08-31 18:50
蹲一个思路
点赞 回复 分享
发布于 2019-08-31 18:24
我两道编程都没思路😓 第二题用的cout<<2^n  82%
点赞 回复 分享
发布于 2019-08-31 18:24
index会越界,加个判断就好了
点赞 回复 分享
发布于 2019-08-31 18:22
https://www.nowcoder.com/discuss/240269?toCommentId=3786919
点赞 回复 分享
发布于 2019-08-31 18:18
同91 dfs
点赞 回复 分享
发布于 2019-08-31 18:13
答案问的是可能的终点的数量,不是起点数量
点赞 回复 分享
发布于 2019-08-31 18:12
写出代码测试用例不过,以为要gg,运行一下,发现百分之73😓
点赞 回复 分享
发布于 2019-08-31 18:08
我这样暴力怎么只过了64,就说我超时了....
点赞 回复 分享
发布于 2019-08-31 18:07
我也是91 调了半天没调出来
点赞 回复 分享
发布于 2019-08-31 18:05
我只有9%也是醉了
点赞 回复 分享
发布于 2019-08-31 18:05

相关推荐

行云流水1971:这份实习简历的优化建议: 结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。 经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。 岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。 信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。 技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。 优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。 若需要进一步优化服务,私信
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

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