Setelah Anda bangun di ruangan gelap, Anda melihat kisi lampu persegi panjang dengan sakelar yang sesuai. Anda memutuskan untuk menggunakan sistem koordinat dengan lampu kiri bawah mewakili (1,1) dan koordinat meningkat ketika Anda naik (arah y) dan ke kanan (arah x). Kisi-kisi identik dalam membalik saklar pada (a, b) matikan (beralih dari mati ke hidup atau mati ke mati) lampu di (a, b) serta lampu di kolom yang sama atau baris yang sama seperti ( a, b).
Input Anda akan berupa kotak persegi panjang dari dua karakter berbeda yang mewakili on dan off (masing-masing saya menggunakan 1 dan 0). Juga, bagian dari input akan menjadi serangkaian setidaknya satu pasangan koordinat (dengan format dan pemisahan apa pun yang Anda inginkan) yang akan mewakili switch yang Anda flip.
Outputnya akan menjadi grid yang sama, dengan "flip" diterapkan pada masing-masing pasangan koordinat yang diberikan sebagai input. Anda dapat memilih cara memformat input Anda, meskipun output harus berupa kisi, bukan array.
Sampel
Masukan sampel 1
111111
111111
111111
111111
(3,2)
Output sampel 1
110111
110111
000000
110111
Masukan sampel 2
01101
10100
00010
11111
10110
(1,1), (5,5)
Keluaran sampel 2
00010
00101
10011
01110
01000
Masukan sampel 3
1
(1,1)
Keluaran sampel 3
0
Masukan sampel 4
00000
11111
00000
11111
(2,3), (2,3)
Output sampel 4
00000
11111
00000
11111
Ini kode golf. Aturan standar berlaku. Kode terpendek dalam byte menang.
<grid><RETURN><coordinate_x><RETURN><coordinate_y><RETURN>
?Jawaban:
CJam,
3736 byteInput harus memiliki grid terlebih dahulu, menggunakan dua karakter non-NULL yang hanya berbeda dalam bit terakhir (begitu
0
dan1
berfungsi), diikuti oleh daftar pasangan koordinat gaya CJam.Uji di sini.
sumber
Dyalog APL, 20 byte
Ini adalah fungsi diad yang mengambil kisi awal di kanan dan daftar koordinat di sebelah kiri.
Untuk memasukkan satu pasangan koordinat, gunakan mis
(⊂2 3)
sebagai argumen kiri.Coba di sini .
sumber
MATL , 39 byte
Input berupa bentuk berikut (contohnya sesuai dengan sampel input 2 pada tantangan):
Input pertama adalah matriks yang mendefinisikan grid
0
dan1
.;
adalah pemisah baris. Input kedua adalah matriks pasangan koordinat, di mana masing-masing kolom adalah pasangan.Contoh
Penjelasan
sumber
Ruby 114 byte
Dibawa sebagai input:
g
, array array yang mewakili grid awal.o
, array poin, setiap titik menjadi array dengan dua elemen, seperti[x, y]
.sumber