아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

네트워크 게임

시간 제한1초메모리 제한1024 MB

요약
최대 50개의 단위 선분으로 이루어진 그물 조각이 주어질 때, 완전한 단위 정사각형에 속한 선분을 번갈아 자르는 게임에서 선공이 이기는지 판정하고 이기는 첫 수를 출력한다.
난이도

보통10점 중 7점

유형
게임 이론, 그래프, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

페티야와 바샤는 다락방에서 할아버지의 낚싯그물 조각을 발견했다. 일부 줄은 오래전에 썩어서 그물은 많은 조각으로 흩어졌고, 각 조각은 길이 1인 줄이 50개 이하로 이루어져 있다.

그물을 원래 용도로 쓸 수 없게 되자, 형제는 발견한 조각 중 하나를 직사각형 탁자 위에 줄이 탁자의 변과 평행하도록 펼쳐 놓고 다음 게임을 하기로 했다.

형제는 번갈아 가며 수를 두고, 페티야가 먼저 둔다. 자기 차례에 플레이어는 그물의 어떤 완전한 단위 정사각형 셀의 변인 줄(그 셀을 이루는 네 줄이 모두 온전한 경우)을 찾아 그 줄을 자른다. 다음 수를 둘 수 없는 사람이 진다.

탁자 위 그물 조각의 설명이 주어질 때, 페티야가 바샤가 어떻게 두더라도 이길 수 있는지, 이길 수 있다면 그가 첫 수로 어떤 줄을 잘라야 하는지 판정하는 프로그램을 작성해야 한다.

입력

첫째 줄에 그물 조각을 이루는 길이 1인 줄의 개수 N (1 ≤ N ≤ 50)이 주어진다. 다음 N개 줄에는 각각 정수 두 쌍, 즉 줄의 양 끝점 좌표가 주어진다. 각 네 개의 정수는 좌표축 중 하나에 평행한 길이 1인 선분을 나타낸다.

모든 점의 좌표는 음이 아니며 50을 넘지 않는다.

출력

출력 파일의 첫째 줄에는 페티야가 바샤가 어떻게 두더라도 이길 수 있으면 1, 그렇지 않으면 2를 출력한다. 페티야가 이기는 경우 둘째 줄에는 그가 첫 수로 잘라야 하는 줄의 번호를 출력한다. 이기는 수가 여러 개면 아무거나 출력한다. 줄은 입력 파일에 주어진 순서대로 1부터 번호가 매겨진다.

예제1

  1. 예제 1

    입력
    11
    1 1 1 2
    2 3 2 4
    3 1 3 2
    1 2 1 3
    1 1 2 1
    2 1 2 2
    2 1 3 1
    1 2 2 2
    2 2 3 2
    1 3 2 3
    2 3 3 3
    
    예상 출력
    1
    6