京东(算法岗0917)

1. 道具魅力值
const int len = 10005;
vector<int> infor(len, 0);
int N, V, v, w, s;


int main() {
	cin >> N >> V;
	for (int i = 0; i < N; i++) {
		cin >> s >> v >> w;
		for (int j = V; j >= 0; --j) {
			for (int k = 1; k <= s && k*v <= j; ++k) {
				infor[j] = max(infor[j], infor[j - k * v] + k*w);
			}
		}
	}
	cout << infor[V];

	getchar();
	return 0;
}

2. 王子公主
void dfs(vector<vector<char>>& mat, int i, int j) {
	if (i < 0 || i >= mat.size() || j < 0 || j >= mat[0].size() || mat[i][j] == '#' || mat[i][j] == '*')
		return;
	mat[i][j] = '*';
	dfs(mat, i + 1, j);
	dfs(mat, i - 1, j);
	dfs(mat, i, j + 1);
	dfs(mat, i, j - 1);
}


int main() {

	int t, n, m;
	cin >> t;
	for (int i = 0; i < t; i++) {
		cin >> n >> m;
		int start_x = -1, start_y = -1, end_x = -1, end_y = -1;
		vector<vector<char>> mat(n, vector<char>(m));
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				char tmp;
				cin >> tmp;
				if (tmp == 'E') {
					end_x = i;
					end_y = j;
				}
				if (tmp == 'S') {
					start_x = i;
					start_y = j;
				}
				mat[i][j] = tmp;
			}
		}
		dfs(mat, start_x, start_y);
		if (mat[end_x][end_y] == '*')
			cout << "YES" << endl;
		else
			cout << "NO" << endl;
	}

	getchar();
	return 0;
}


#笔试题目##京东#
全部评论
不用的~
点赞 回复 分享
发布于 2020-09-17 23:56
选择一个道具必须把所有数量的道具都选了吗?
点赞 回复 分享
发布于 2020-09-17 21:26

相关推荐

湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 15:19
简历上能写3个月吗?
码农索隆:大胆写,主要你能把实习经历包装好,可以看一下我这篇帖子https://www.nowcoder.com/share/jump/4888395581180798063
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

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