Anehnya, kami belum memiliki tantangan pada pewarnaan grafik!
Diberikan grafik yang tidak terarah, kita dapat memberikan setiap simpul warna sehingga tidak ada dua simpul yang berdekatan memiliki warna yang sama. Angka terkecil χ dari warna berbeda yang diperlukan untuk mencapai hal ini disebut angka kromatik dari grafik.
Misalnya, berikut ini menunjukkan pewarnaan yang valid menggunakan jumlah warna minimum:
(Ditemukan di Wikipedia)
Jadi angka berwarna grafik ini adalah χ = 3 .
Tulis program atau fungsi yang, diberi sejumlah simpul N <16 (yang diberi nomor dari 1 hingga N ) dan daftar tepi, menentukan angka kromatik grafik.
Anda dapat menerima input dan menghasilkan output dalam format apa pun yang nyaman, selama input tersebut tidak diproses sebelumnya. Artinya, Anda dapat menggunakan string atau array, menambahkan pembatas yang nyaman ke string atau menggunakan array bersarang, tetapi apa pun yang Anda lakukan, struktur yang diratakan harus berisi angka yang sama seperti contoh di bawah ini (dalam urutan yang sama).
Anda tidak boleh menggunakan fungsi terkait teori grafik bawaan (seperti Mathematica ChromaticNumber).
Anda dapat mengasumsikan bahwa grafik tidak memiliki loop (tepi yang menghubungkan simpul dengan dirinya sendiri) karena itu akan membuat grafik menjadi tidak berwarna.
Ini kode golf, jawaban terpendek (dalam byte) menang.
Contohnya
Program Anda setidaknya harus menyelesaikan semua ini dalam jumlah waktu yang wajar. (Ini harus menyelesaikan semua input dengan benar, tetapi mungkin butuh waktu lebih lama untuk input yang lebih besar.)
Untuk mempersingkat posting, dalam contoh berikut ini, saya menyajikan tepi dalam satu daftar yang dipisahkan koma. Anda bisa menggunakan jeda baris atau mengharapkan input dalam beberapa format array yang nyaman, jika Anda mau.
Segitiga (χ = 3)
3
1 2, 2 3, 1 3
"Dering" dari 6 simpul (χ = 2)
6
1 2, 2 3, 3 4, 4 5, 5 6, 6 1
"Dering" dari 5 simpul (χ = 3)
5
1 2, 2 3, 3 4, 4 5, 5 1
Contoh gambar di atas (χ = 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
Generalisasi di atas untuk 7 simpul (χ = 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
Grafik Petersen (χ = 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
Grafik lengkap 5 simpul, ditambah simpul terputus (χ = 5)
6
1 2, 1 3, 1 4, 1 5, 2 3, 2 4, 2 5, 3 4, 3 5, 4 5
Grafik lengkap 8 simpul (χ = 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
Kisi segitiga dengan 15 simpul (χ = 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