京东(算法岗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 21:26
不用的~
点赞 回复 分享
发布于 2020-09-17 23:56

相关推荐

小谷围鸡肉卷阿姨:+1,腾子投完一动不动
点赞 评论 收藏
分享
点赞 7 评论
分享
牛客网
牛客企业服务