티스토리 뷰

https://www.acmicpc.net/problem/28447

 

28447번: 마라탕 재료 고르기

재료 $1, 2, 4$를 고르면 $C_{1, 2} = 1, C_{1, 4} = 3, C_{2, 4} = 6$으로 최대인 $10$이 된다.

www.acmicpc.net

const [[N, K], ...mara] = require('fs')
	.readFileSync('./dev/stdin')
	.toString()
	.trim()
	.split('\n')
	.map((v) => v.split(' ').map(Number));
let answer = -Infinity;
if (K == 1) {
	console.log(0);
	process.exit();
}
for (let i = 0; i < 1 << N; i++) {
	let temp = i;
	const possible = [];
	let cnt = 0;
	while (temp > 0) {
		if ((temp & 1) === 1) {
			possible.push(cnt);
		}
		cnt++;
		temp >>= 1;
	}

	if (possible.length == K) {
		let max = 0;
		for (let a = 0; a < K; a++) {
			for (let b = a; b < K; b++) {
				const ma = possible[a];
				const ra = possible[b];
				max += mara[ma][ra];
			}
		}
		if (max > answer) {
			answer = max;
		}
	}
}
console.log(answer);
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함