공을 던지는 소 쌍 사이에 단방향 간선이 있다고 생각합시다. 이 때, 들어오는 간선이 없는 소에게는 항상 존이 공을 던져줘야 하며, 그러한 모든 소에게 공을 던진 후에도 공을 받지 못한 소는 a↔a+1 형태의 크기 2의 사이클에 속한다는 사실을 관찰할 수 있습니다.

위 관찰을 토대로 구현해주면 됩니다.

여담으로, 조건문 5개를 || 연산자로 묶고 삼항 연산자를 삼중으로 겹쳐서 들어오는 간선이 없는 소를 if문 하나, 이중 for문 하나로 판별했는데, 제가 지금까지 짜본 코드 중 가장 깔끔하게 더러운 코드인 것 같네요. 매우 만족스럽습니다.

체감 상으로 :gold5: 난이도는 아닌 것 같고 :gold3: 정도 되는 것 같네요.. 재밌는 문제였습니다.