티스토리 뷰

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

 

11558번: The Game of Death

첫 줄에는 테스트 케이스의 숫자 T가 주어지며, 이어서 T번에 걸쳐 테스트 케이스들이 주어진다. 매 테스트 케이스의 첫 줄에는 플레이어의 숫자 N(1 ≤ N ≤ 10,000)이 주어진다. 이어서 N줄에 걸쳐

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync("./dev/stdin").toString().trim().split("\n").map(v => +v);

let answer = [];

let T = input.shift();

for (let i = 0; i < T; i++) {
  let N = input.shift();
  let arr = new Array(N + 1);
  let isVisited = new Array(N + 1).fill(false);
  for (let j = 1; j <= N; j++) {
    arr[j] = input.shift();
  }
  let J = arr[1];
  isVisited[1] = true;
  let cnt = 1;
  while (true) {
    if (J == N) {
      answer.push(cnt);
      break;
    } else {
      J = arr[J];
      if (isVisited[J]) {
        answer.push(0)
        break;
      }
      isVisited[J] = true;
      cnt++;
    }
    
  }
}

console.log(answer.join('\n'));
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함