Trik sulap 5 kartu melibatkan pesulap yang asistennya memberi mereka 4 kartu yang ditunjukkan dan yang tersembunyi, dalam urutan ini, dan pesulap harus menebak yang tersembunyi.
PERINGATAN: Solusi di bawah ini! Tinggalkan sekarang atau manja dengan itu.
Solusinya
Kuncinya di sini adalah bahwa lima kartu diberikan dalam urutan tertentu !
adalah 5 kartu dalam urutan yang diberikan.
adalah nomor kartu dalam (urutan nomor).
, di mana adalah nomor kartu dan adalah bilangan bulat, sama dengan nomor kartu langkah ke kanan dalam , membungkus dengan awal jika perlu.
adalah setelan dalam (urutan pesanan).
, di mana adalah nomor kartu dan adalah jas, menunjukkan kartu dengan nomor kartu dan jas .
, di mana dan adalah kartu, benar jika 's jas adalah ke kiri dari ' s gugatan di , atau pakaian mereka adalah sama dan 's nomor kartu adalah ke kiri dari ' s kartu nomor dalam .
, di mana dan adalah kartu, benar jika salah.
, di mana , dan adalah kartu, adalah indeks permutasi dari urutan ini, yang ditentukan oleh tabel di bawah ini:
Solusi untuk 5-kartu trik sulap adalah masalah adalah:
Tantangan
Sejauh ini baik. Namun, melakukan perhitungan yang ditentukan di atas sudah diminta di sini . Sebaliknya, tantangan Anda adalah, mengingat 5 kartu tanpa urutan tertentu, untuk memesannya dengan benar. Ini berarti bahwa empat kartu pertama dalam output akan mewakili yang kelima. Dengan kata lain, jadilah asisten. Persyaratan:
- .
- (artinya, ini harus dimungkinkan).
Contoh
Mari kita pertimbangkan set 7H,2D,6D,5C,6C
. Pertama-tama, kami mengambil 25 pasangan:
7H,7H 7H,2D 7H,6D 7H,5C 7H,6C
2D,7H 2D,2D 2D,6D 2D,5C 2D,6C
6D,7H 6D,2D 6D,6D 6D,5C 6D,6C
5C,7H 5C,2D 5C,6D 5C,5C 5C,6C
6C,7H 6C,2D 6C,6D 6C,5C 6C,6C
Kemudian, kami jelas menghapus 5 pasang yang berisi kartu yang sama dua kali, mereka tidak ada dalam satu dek:
7H,2D 7H,6D 7H,5C 7H,6C
2D,7H 2D,6D 2D,5C 2D,6C
6D,7H 6D,2D 6D,5C 6D,6C
5C,7H 5C,2D 5C,6D 5C,6C
6C,7H 6C,2D 6C,6D 6C,5C
Setelah itu, karena jas harus sama, setelan yang berbeda pada pasangan adalah tidak-tidak:
2D, 6D 6D, 2D 5C, 6C 6C, 5C
Akhirnya, kami memeriksa apakah mungkin untuk beralih dari kartu pertama ke kartu kedua dengan menambahkan paling banyak 6, menghilangkan setengah dari pasangan yang tersisa:
2D, 6D 5C, 6C
Sekarang kami memiliki pasangan yang valid: 2D,6D
dan 5C,6C
. Kartu pertama dari setiap pasangan adalah kartu 1, sedangkan yang terakhir adalah kartu 5.
Kita akan pergi dengan di 5C,6C
sini untuk kemudahan. Seluruh set adalah 7H,2D,6D,5C,6C
, jadi, mengeluarkan 2 kartu dari pasangan yang kami pilih, kami miliki 7H,2D,6D
. Kartu-kartu ini akan mewakili 6 - 5 = 1
, jadi kami harus memesannya seperti "min, mid, max". 7H > 2D < 6D < 7H
, atau sederhananya 2D < 6D < 7H
, jadi sekarang kita miliki 2D,6D,7H
.
Langkah terakhir adalah menyatukan semua ini, jadi hasilnya adalah 5C,2D,6D,7H,6C
.
Klarifikasi
- Anda dapat menggunakan
10
sebagai gantinyaT
. - Anda dapat menggunakan salah satu
♠♥♦♣
,♤♡♢♧
atau♠♡♢♣
bukanCDHS
, masing-masing. - Ini kode-golf , kode terpendek yang menang.
Uji kasus
Anda dapat mengeluarkan satu atau beberapa solusi valid yang disertakan untuk setiap test case.
8S,TD,5C,QS,TS -> 8S,5C,QS,TD,TS
... 8S,TD,TS,5C,QS
... TS,5C,8S,TD,QS
JD,KH,4S,9D,8S -> 9D,KH,8S,4S,JD
... 4S,JD,KH,9D,8S
4H,4D,TH,KH,2C -> 4H,KH,4D,2C,TH
... TH,4D,2C,4H,KH
... KH,4D,TH,2C,4H
3S,KS,8S,KH,9H -> 9H,8S,KS,3S,KH
... 3S,KS,9H,KH,8S
... 8S,3S,9H,KH,KS
... KS,KH,9H,8S,3S
KH,TS,3C,7H,JD -> 7H,TS,JD,3C,KH
4C,KC,TD,JD,QS -> KC,JD,QS,TD,4C
... TD,4C,KC,QS,JD
AC,5H,8D,6D,8S -> 6D,AC,8S,5H,8D
AS,TC,3S,2H,9C -> 9C,2H,AS,3S,TC
... AS,9C,2H,TC,3S
4C,JS,AS,8H,JC -> JC,JS,AS,8H,4C
... JS,JC,4C,8H,AS
4H,QS,TH,QC,AC -> QC,4H,QS,TH,AC
... 4H,QS,QC,AC,TH