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
我也是 求解
点赞 回复 分享
发布于 2019-08-31 18:04
全是大佬  18的不敢说话
点赞 回复 分享
发布于 2019-08-31 18:06
python可以参考 https://blog.csdn.net/z13653662052/article/details/100175482
点赞 回复 分享
发布于 2019-08-31 18:06
仔细看了下,这个rres可能会越界
点赞 回复 分享
发布于 2019-08-31 18:19
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
我只有9%也是醉了
点赞 回复 分享
发布于 2019-08-31 18:05
我也是91 调了半天没调出来
点赞 回复 分享
发布于 2019-08-31 18:05
我这样暴力怎么只过了64,就说我超时了....
点赞 回复 分享
发布于 2019-08-31 18:07
写出代码测试用例不过,以为要gg,运行一下,发现百分之73😓
点赞 回复 分享
发布于 2019-08-31 18:08
答案问的是可能的终点的数量,不是起点数量
点赞 回复 分享
发布于 2019-08-31 18:12
同91 dfs
点赞 回复 分享
发布于 2019-08-31 18:13
https://www.nowcoder.com/discuss/240269?toCommentId=3786919
点赞 回复 分享
发布于 2019-08-31 18:18
index会越界,加个判断就好了
点赞 回复 分享
发布于 2019-08-31 18:22
我两道编程都没思路😓 第二题用的cout<<2^n  82%
点赞 回复 分享
发布于 2019-08-31 18:24
蹲一个思路
点赞 回复 分享
发布于 2019-08-31 18:24
谁能解释一下样例 为啥是8啊? 10 3 5 2 6
点赞 回复 分享
发布于 2019-08-31 18:50
是不是某些情况下会有两种解
点赞 回复 分享
发布于 2019-08-31 18:54
res[i]一定小于res.size()吗?
点赞 回复 分享
发布于 2019-09-01 00:50
5 2 6一定是这个顺序吗?可不可以526,562,256,265,625,652
点赞 回复 分享
发布于 2019-09-02 14:55

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
2
10
分享
牛客网
牛客企业服务