Ein anmutiger Graph ist eine Art einfacher Graph . Anmutige Diagramme sind etwas Besonderes, da es eine Möglichkeit gibt, alle ihre Knoten mit positiven Ganzzahlen zu kennzeichnen, sodass, wenn die Kanten auch mit den Unterschieden der Knoten gekennzeichnet sind, die sie verbinden, keine zwei Kanten dieselbe Beschriftung und jede Beschriftung bis zur Anzahl der Kanten haben wird genutzt.
Ausgearbeitetes Beispiel
Hier ist ein einfaches Diagramm, von dem wir vermuten, dass es ein anmutiges Diagramm ist
Versuchen wir die folgende Kennzeichnung:
Beachten Sie, dass wir Ganzzahlen in unserer Knotenbeschriftung überspringen dürfen. Jetzt beschriften wir jede Kante mit dem positiven Unterschied zwischen den Knoten, die sie verbindet. Zur besseren Sichtbarkeit habe ich diese rot beschriftet.
Jede Kante hat eine eindeutige Nummer und es wird keine Nummer zwischen 1 und 7 (die Anzahl der Kanten, die wir haben) ausgelassen. Somit ist unser Graph anmutig.
Aufgabe
Bei einem gegebenen Diagramm wird über eine vernünftige Eingabemethode ein wahrheitsgemäßer Wert ausgegeben, wenn er anmutig ist, und ansonsten ein falscher Wert.
Dies ist Code-Golf, daher besteht das Ziel darin, die Anzahl Ihrer Bytes zu minimieren.
Testfälle
Hier werden Diagramme als Array von Kanten dargestellt:
3 nodes:
[(0,1),(0,2),(1,2)]
True
Labeling:
Node 0 -> 0
Node 1 -> 2
Node 2 -> 3
5 nodes:
[(0,1),(0,4),(1,2),(2,3),(3,4)]
False
5 nodes:
[(0,1),(1,2),(2,3),(3,4)]
True
Labeling:
Node 0 -> 0
Node 1 -> 1
Node 2 -> 3
Node 3 -> 6
Node 4 -> 10
9 nodes
[(0,1),(1,2),(1,7),(1,8),(2,3),(2,6),(3,4),(4,5)]
True
Labeling:
Node 0 -> 0
Node 1 -> 1
Node 2 -> 3
Node 3 -> 6
Node 4 -> 10
Node 5 -> 15
Node 6 -> 11
Node 7 -> 7
Node 8 -> 8
5 nodes
[(0,1),(0,2),(1,2),(1,3),(1,4),(3,4)]
False
[(0,1),(1,2),(2,3),(3,4)]
ist wahrscheinlich ein bemerkenswerter Randfall.
{(k-1,k) : 0 < k < n}
erfordern Diagramme des Formulars die höchsten Beschriftungen aller Diagramme mit der gleichen Anzahl von Knoten.
n(n+1)/2
als ihr höchstes Label verlangen . Ich habe Ihren Testfall hinzugefügt.