그래프 이론에서 Cactus 는 연결된 그래프로, 그래프에서 구별되는 두 개의 간단한주기가 최대 하나의 정점을 공유합니다.
다음은 3 개의 간단한주기가 점선으로 표시된 선인장입니다.
다음 그래프는 위의 그림과 비슷하지만 빨간색으로 표시된 두 정점이 두 개의 간단한 주기로 공유되므로 선인장이 아닙니다.
예를 들어 다음 그래프와 같이 조금 까다로울 수 있습니다.
선인장처럼 보일지 모르지만 그렇지 않습니다. 이것은 다음주기를 강조 표시하여 표시 할 수 있습니다.
이주기는 그래프에서보다 명백한주기와 함께 하나 이상의 점을 공유합니다.
정의
연결된 그래프는 두 정점 사이에 하나 이상의 경로가 존재하는 그래프입니다.
간단한주기는 동일한 정점에서 시작하고 끝나고 정점을 두 번 이상 방문하지 않는 그래프의 경로입니다.
단순 그래프는 방향이 정해지지 않은 비가 중 그래프이므로 정점이 하나 이상의 가장자리로 서로 연결되어 있지 않고 정점이 자체 연결되지 않습니다. 간단한 그래프는 가장 기본적인 그래프 유형이며 대부분의 사람들은 그래프를 말할 때 의미합니다.
태스크
간단한 그래프를 입력으로 사용하여 선인장 그래프인지 결정하십시오. True와 False에 대해 두 개의 고유 한 값을 출력해야합니다. 원하는 형식으로 입력 할 수 있습니다.
이것은 코드 골프 이므로 답의 바이트 수를 최소화하는 것을 목표로해야합니다.
내 솔루션을 볼 수 있습니까, 그것이 유효한지 알려주세요. 나는 명백한 패턴이 너무 명백해서 무언가를 놓친 것처럼 떨어졌습니다.
—
Shaggy
@Shaggy JavaScript를 읽을 수 없습니다. 설명하면 가능할 것입니다.
—
밀 마법사
내가 시도 할 수 있습니다. 2 가지를 확인하고 있습니다 : 1)
—
Shaggy
e
정확히 하나의 요소를 v
포함하고 정확히 2를 포함하고 AND v
의 첫 번째 요소와 같습니다 e
. 2) OR? v
에서 각 요소의 첫 번째 요소의 공용체 집합과 같습니다 e
. 두 번째 테스트 사례는 첫 번째 검사 ( v=[1,2]=e[0]=[1,2]
)를 통과하고 다른 테스트 사례는 두 번째 테스트 사례와 일치해야합니다 (예 : case # 4 :) v=[1,2,3,4,5,6]=[e[0][0],e[1][0],e[2][0],e[4][0]]=[1,2,3,4,5,6]
.
@Shaggy 이것은 작동하지 않습니다. 예를 들어 제공된 첫 번째 다이어그램이 실패합니다.
—
밀 마법사
console.log(f([1,2,3,4,5,6,7,8,9,10,11,12,13])([[1,2],[1,3],[3,4],[2,4],[3,5],[5,6],[6,7],[7,8],[8,5],[7,9],[9,10],[10,11],[11,7],[8,12],[8,13]]))
그 반환
—
Shaggy
true
또는 false
?