정비 안내를 받을 변전소
문제
어느 지역의 전력망에는 1번부터 n번까지 번호가 붙은 변전소가 있다. 변전소 가운데 일부는 송전선으로 이어져 있으며, 송전선에는 양쪽으로 전기가 흐른다. 같은 두 변전소를 잇는 송전선이 여러 개 놓여 있을 수도 있다.
이제 1번 변전소에서 큰 정비 작업을 하기로 했다. 정비를 하는 동안에는 1번 변전소의 전압이 흔들리고, 그 흔들림이 송전선을 따라 퍼진다. 다만 흔들림은 송전선을 두 번 지나가면 잦아들어, 송전선을 두 번 이하로 거쳐서 닿는 변전소까지만 영향을 받는다.
전력망의 담당자는 영향을 받는 변전소에 미리 정비 안내를 보내려 한다. 결과적으로 송전선의 정보가 주어졌을 때, 안내를 보내야 하는 변전소가 몇 곳인지 구하는 프로그램을 작성하여라. 정비를 하는 1번 변전소 자신은 세지 않는다.
예를 들어 n=6개의 변전소가 있고, 송전선이 다음의 표와 같이 m=5개 놓여 있다고 해보자.
| 송전선 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 이어진 두 변전소 | 1, 2 | 1, 3 | 3, 4 | 2, 3 | 4, 5 |
1번 변전소에서 각 변전소까지 거쳐야 하는 송전선의 최소 개수를 적으면 다음과 같다.
| 변전소 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 거치는 송전선의 수 | 0 | 1 | 1 | 2 | 3 | 닿지 않음 |
2번 변전소와 3번 변전소는 1번 변전소와 바로 이어져 있어 송전선을 한 번만 거친다. 4번 변전소는 3번 변전소를 지나야 하므로 두 번을 거친다. 5번 변전소는 4번 변전소까지 간 뒤에 한 번을 더 거쳐야 하므로 세 번이고, 6번 변전소는 1번 변전소와 아예 이어져 있지 않다.
송전선을 두 번 이하로 거쳐 닿는 변전소는 1번, 2번, 3번, 4번이다. 여기에서 정비를 하는 1번 변전소 자신을 빼면 2번, 3번, 4번이 남는다. 따라서 이 경우 정답은 3이다.
입출력 예시
예시 1
입력
6 5 1 2 1 3 3 4 2 3 4 5
출력
3
예시 2
입력
3 2 3 1 3 2
출력
2
예시 3
입력
3 0
출력
0
입력 조건
가장 먼저 변전소의 수 n이 자연수로 주어진다. (n은 500보다 작거나 같은 자연수다.)
이어서 송전선의 수 m이 주어진다. (m은 0 이상 10,000 이하의 정수다.)
이어서 m개의 줄에 걸쳐 각 송전선이 잇는 두 변전소의 번호 x와 y가 공백으로 구분되어 주어진다. x와 y는 모두 1 이상 n 이하의 자연수다. m이 0이면 송전선 정보는 한 줄도 주어지지 않는다.
출력 조건
정비 안내를 보내야 하는 변전소의 수를 한 줄에 출력한다. 1번 변전소에서 송전선을 두 번 이하로 거쳐 닿는 변전소를 세며, 정비를 하는 1번 변전소 자신은 세지 않는다. 수 하나만 출력하므로 줄 끝에 남기는 공백은 없다.
요구사항
- 송전선은 양쪽으로 모두 통합니다
- 거리는 거친 송전선의 개수로 셉니다. 두 번 이하인 변전소만 안내를 받습니다
- 1번 변전소 자신은 답에서 뺍니다
- 1번 변전소와 이어져 있지 않은 변전소는 세지 않습니다
- 송전선이 하나도 없다면 답은 0입니다
- 표준 입력으로 읽고 표준 출력으로 내보내는 프로그램을 짜야 합니다
- 쓸 수 있는 말은 파이썬, 자바스크립트입니다
- 메모리 제한은 256MB입니다. 브라우저에서는 재지 않고 적기만 합니다
- 시간 제한은 출제자의 정답 코드를 같은 런타임에서 재서 정합니다
- 이 문제는 프롬프트가 아니라 코드를 냅니다. 그 코드는 이 기기의 브라우저에서 돌고, 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다. 실행 시간은 각자 기기가 적어 보내는 값이라, 코드와 기기 정보를 순위표에 같이 내걸어 둡니다.
- 출력이 글자 하나까지 기대값과 같아야 합니다. 줄 안의 빈칸은 다른 글자와 똑같이 봅니다.
- 케이스는 15개이고, 그 가운데 3개는 입력과 기대 출력을 함께 보여 줍니다. 나머지는 제출할 때만 쓰이고 화면에는 보여 주지 않습니다.
- 케이스 15개를 전부 통과해야 해결입니다.
예시
공개 케이스 3개입니다. 채점에는 숨은 케이스가 함께 쓰입니다. 케이스 15개를 전부 통과해야 해결입니다.
3 2 3 1 3 2
2
3 0
0
6 5 1 2 1 3 3 4 2 3 4 5
3
풀이
코드는 이 기기에서돕니다. 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다.
제출은 로그인 하셔야 됩니다. 공개 케이스로 돌려보는 것은 로그인 없이도 됩니다.
공개 케이스 3개로 돌려보기가 됩니다. 제출하면 숨은 케이스까지 돕니다.
이 문제를 푼 사람
아직 없습니다. 첫 번째가 되실 수 있습니다.