Tugas
Anda akan diberi bilangan bulat positif dan Anda harus menampilkan " grafik pelengkap diri " dengan banyak node. Jika Anda tidak tahu apa itu grafik pelengkap diri adalah artikel wikipedia tidak akan banyak membantu Anda jadi di bawah ini adalah dua penjelasan, satu teknis dan non-teknis.
Non-Teknis
Grafik adalah sekumpulan node yang dihubungkan oleh garis. Setiap pasangan poin dapat dihubungkan oleh satu garis atau tidak sama sekali. "Komplemen" dari grafik adalah hasil dari mengambil grafik dan menghubungkan semua node yang tidak terhubung dan memutuskan semua node yang ada.
Grafik pelengkap diri adalah grafik yang komplemennya dapat disusun ulang menjadi bentuk aslinya. Di bawah ini adalah contoh dari grafik pelengkap diri dan demonstrasi bagaimana.
Berikut ini adalah grafik dengan 5 node:
Kami akan menyoroti semua tempat koneksi dapat dilakukan dengan garis putus-putus merah:
Sekarang kita akan menemukan komplemen grafik dengan menukar tepi merah dan hitam:
Ini tidak terlihat seperti grafik asli tetapi jika kita memindahkan node seperti itu (setiap langkah menukar dua node):
Kami mendapatkan grafik asli! Grafik dan komplemennya adalah grafik yang sama
Teknis
Grafik pelengkap diri adalah grafik yang isomorfis untuk pelengkapnya.
Spesifikasi
Anda akan menerima bilangan bulat positif melalui metode apa pun yang paling sesuai untuk Anda. Dan Anda akan menampilkan grafik dalam metode apa pun yang Anda anggap tepat, ini termasuk tetapi tidak terbatas pada kedekatan Matrix Form , kedekatan Daftar Form , dan tentu saja gambar! Grafik yang dihasilkan haruslah komplemennya sendiri dan memiliki simpul sebanyak input integer. Jika tidak ada grafik seperti itu, Anda harus menampilkan nilai falsy.
Ini adalah kode-golf dan Anda harus berusaha meminimalkan jumlah byte Anda.
Uji Kasus
Di bawah ini adalah gambar-gambar dari kemungkinan keluaran untuk beberapa n
4
5
9
GraphData@{"SelfComplementary",{#,1}}&
, saya percaya bahwa hanya memuat beberapa contoh untuk rendah n
dari database Wolfram, jadi ini tidak akan bekerja untuk input besar yang sewenang-wenang.