놀랍게도 아직 그래프 채색에 대한 도전은 없었습니다!
방향이없는 그래프가 주어지면 인접한 정점 두 개가 같은 색을 공유하지 않도록 각 정점에 색을 지정할 수 있습니다. 이를 달성하는 데 필요한 가장 작은 별개의 색 χ 를 그래프 의 색수 라고합니다 .
예를 들어, 다음은 최소 색상 수를 사용하는 유효한 색상을 보여줍니다.
(위키 백과에서 발견)
따라서이 그래프의 색도는 χ = 3 입니다.
많은 정점 N <16 ( 1 에서 N 까지 번호가 매겨 짐 )과 모서리 목록이 주어지면 그래프의 색도를 결정 하는 프로그램이나 함수를 작성하십시오 .
입력이 사전 처리되지 않는 한 입력을 받고 편리한 형식으로 출력 할 수 있습니다. 즉, 문자열이나 배열을 사용하거나 문자열에 편리한 구분 기호를 추가하거나 중첩 배열을 사용할 수 있지만, 평평한 구조에는 아래 예제와 동일한 숫자가 동일한 순서로 포함되어야합니다.
내장 된 그래프 이론 관련 기능 (예 : Mathematica 's ChromaticNumber
)을 사용할 수 없습니다 .
그래프에 색상이 지정되지 않도록 그래프에 루프 (정점과 자체를 연결하는 가장자리)가 없다고 가정 할 수 있습니다.
이것은 코드 골프이며, 가장 짧은 대답 (바이트)이 이깁니다.
예
당신의 프로그램은 적어도이 모든 것들을 적당한 시간 안에 해결해야합니다. (모든 입력을 올바르게 해결해야하지만 더 큰 입력의 경우 더 오래 걸릴 수 있습니다.)
게시물을 줄이려면 다음 예에서 가장자리를 쉼표로 구분 된 단일 목록으로 표시합니다. 원하는 경우 줄 바꿈을 사용하거나 편리한 배열 형식으로 입력을 예상 할 수 있습니다.
삼각형 (χ = 3)
3
1 2, 2 3, 1 3
6 개의 정점의 "링" (χ = 2)
6
1 2, 2 3, 3 4, 4 5, 5 6, 6 1
5 개의 정점의 "링" (χ = 3)
5
1 2, 2 3, 3 4, 4 5, 5 1
위의 사진 예 (χ = 3)
6
1 2, 2 3, 3 4, 4 5, 5 6, 6 1, 1 3, 2 4, 3 5, 4 6, 5 1, 6 2
7 개의 정점에 대한 위의 일반화 (χ = 4)
7
1 2, 2 3, 3 4, 4 5, 5 6, 6 7, 7 1, 1 3, 2 4, 3 5, 4 6, 5 7, 6 1, 7 2
피터슨 그래프 (χ = 3)
10
1 2, 2 3, 3 4, 4 5, 5 1, 1 6, 2 7, 3 8, 4 9, 5 10, 6 8, 7 9, 8 10, 9 6, 10 7
5 개의 정점과 연결이 끊긴 정점의 전체 그래프 (χ = 5)
6
1 2, 1 3, 1 4, 1 5, 2 3, 2 4, 2 5, 3 4, 3 5, 4 5
8 개의 정점의 완전한 그래프 (χ = 8)
8
1 2, 1 3, 1 4, 1 5, 1 6, 1 7, 1 8, 2 3, 2 4, 2 5, 2 6, 2 7, 2 8, 3 4, 3 5, 3 6, 3 7, 3 8, 4 5, 4 6, 4 7, 4 8, 5 6, 5 7, 5 8, 6 7, 6 8, 7 8
15 개의 정점이있는 삼각형 격자 (χ = 3)
15
1 2, 1 3, 2 3, 2 4, 2 5, 3 5, 3 6, 4 5, 5 6, 4 7, 4 8, 5 8, 5 9, 6 9, 6 10, 7 8, 8 9, 9 10, 7 11, 7 12, 8 12, 8 13, 9 13, 9 14, 10 14, 10 15, 11 12, 12 13, 13 14, 14 15