직무
양의 정수가 주어지며 많은 노드와 함께 " 자체 보완 그래프 "를 출력해야합니다 . 자체 보완 그래프가 무엇인지 모르는 경우 Wikipedia 기사에서 크게 도움이되지 않습니다. 기술 및 비 기술적 두 가지 설명이 아래에 있습니다.
비 기술적
그래프는 선으로 연결된 노드 세트입니다. 각 포인트 쌍은 하나의 라인으로 연결되거나 연결되지 않을 수 있습니다. 그래프의 "보완"은 그래프를 작성하고 연결되지 않은 모든 노드를 연결하고 모든 노드를 연결 해제 한 결과입니다.
자체 보완 그래프는 보완을 원본의 모양으로 재 배열 할 수있는 그래프입니다. 아래는 자체 보완 그래프의 예와 방법에 대한 데모입니다.
다음은 5 개의 노드가있는 그래프입니다.
연결이 빨간색 점선으로 갈 수있는 모든 위치를 강조합니다.
이제 빨간색과 검은 색 가장자리를 바꾸어 그래프의 보완을 찾으십시오.
이것은 원래 그래프처럼 보이지 않지만 노드를 이렇게 움직이면 (각 단계에서 두 개의 노드를 교체합니다) :
우리는 원본 그래프를 얻습니다! 그래프와 그 보완은 동일한 그래프입니다
인위적인
자기-상보 그래프는 보수에 동형 인 그래프입니다.
명세서
가장 적합한 방법을 통해 양의 정수를받습니다. 그리고 적절하다고 생각되는 방법으로 그래프를 출력합니다. 여기에는 Adjacency Matrix Form , Adjacency List Form 및 물론 그림이 포함됩니다. 출력 된 그래프는 자체 보완이어야하고 정수 입력만큼 많은 노드를 가져야합니다. 이러한 그래프가 없으면 잘못된 값을 출력해야합니다.
이것은 코드 골프 이며 바이트 수를 최소화하는 것을 목표로해야합니다.
테스트 사례
아래는 몇 n에 대해 가능한 출력 사진입니다
4
5
9
GraphData@{"SelfComplementary",{#,1}}&
low에 대한 몇 가지 예를로드하기 때문에 n
임의로 큰 입력에는 작동하지 않는다고 생각합니다.