T번째 ‘뻔’ 또는 ‘데기’를 외친 사람의 번호를 구한다.
1) T의 최대치가 10000으로 n은 10000보다 작기 때문에 완전 탐색으로 구할 수 있다.
2) 매 회차마다 게임 규칙에 따라 문장을 생성하고 ('뻔' = 0, '데기' = 1 ) flag와 해당 값이 같은 경우 cnt를 증가한다.
3) answer로 현재 단어를 외치고 있는 사람을 추적한다.
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
const input = require("fs")
.readFileSync(filePath)
.toString()
.trim()
.split("\n");
const A = +input[0];
const T = +input[1];
const flag = +input[2];
let n = 0;
let cnt = 0;
let answer = 0;
while (true) {
n += 1;
const arr = [0, 1, 0, 1];
for (let i = 1; i <= n + 1; i++) arr.push(0);
for (let i = 1; i <= n + 1; i++) arr.push(1);
for (const x of arr) {
if (x === flag) cnt++;
if (cnt === T) {
console.log(answer);
return;
}
answer += 1;
answer %= A;
}
}