만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

만능 소켓

면접 대비

시간 제한2초메모리 제한256 MB

요약
위상 또는 중성으로 표시된 n개의 점이 주어질 때, 서로 다른 표시를 가진 두 점 사이의 거리가 정확히 d인 쌍이 있는지 판정한다.
난이도

쉬움10점 중 3점

유형
기하, 해시맵, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

전기 소켓은 다음과 같이 생겼다. 소켓에는 두 개의 접점이 있고, 각 접점에는 전선이 하나씩 연결되어 있다. 이 접점과 연결된 전선을 각각 "위상"과 "중성"이라고 부른다. 소켓의 바깥 패널에는 전기 기기를 연결하기 위한 두 개의 구멍이 있다.

전기 기기는 플러그로 소켓에 연결한다. 플러그에는 두 개의 접점이 있고, 이 접점을 소켓의 구멍에 꽂는다. 플러그를 소켓에 꽂으면 플러그의 접점과 소켓의 접점이 각각 맞닿아 연결된다.

나라마다 접점 사이의 거리가 다른 플러그를 사용하기 때문에 여행자들은 큰 불편을 겪는다. 한 대기업은 거의 모든 나라의 플러그를 꽂을 수 있는 소켓을 출시하기로 했다. 이 소켓에는 n개의 구멍이 있다. 일부 구멍에는 중성이 연결되어 있고, 나머지 구멍에는 위상이 연결되어 있다.

접점 사이의 거리가 d인 플러그를 이 소켓에 꽂아서 플러그의 한 접점은 중성에, 다른 접점은 위상에 연결되도록 할 수 있는지 판별하시오.

입력

첫째 줄에 두 정수 n과 d가 주어진다. (1 ≤ n ≤ 200, 1 ≤ d ≤ 10000)

소켓의 바깥 패널에 직교 좌표계를 도입하자. 다음 n개의 줄에 세 정수 xi, yi, ti가 주어진다. (−10000 ≤ xi, yi ≤ 10000; 0 ≤ ti ≤ 1) 이는 좌표 (xi, yi)에 구멍이 있다는 뜻이다. ti = 1이면 이 구멍에 위상이 연결되어 있고, ti = 0이면 중성이 연결되어 있다.

모든 구멍은 서로 다른 점에 있다.

출력

이 플러그를 이 소켓에 올바르게 꽂을 수 있으면 Yes, 아니면 No를 출력한다.

예제1

  1. 예제 1

    입력
    2 1
    0 0 0
    0 1 1
    
    예상 출력
    Yes