Sumber: Hackerank
Soal 1:
Pak Abdi adalah seorang pemilik ladang luas dengan 4 anak. Saat ini Pak Johan
ingin membagi lahannya dengan keempat anaknya, yaitu Johan, Budi, Didi, dan
Tono. Untuk mempermudah pembagian, Pak Abdi akan membagi tanahnya menjadi
4 bagian dengan menaruh sebuah pasak di suatu tempat di ladangnya. Tiap anak
akan mendapatkan salah satu kuadran dari ladang:
Setelah puas dengan metode ini, Pak Abdi teringat bahwa ia memiliki aset di
beberapa petak ladang. Ia ingin mengetahui ke tangan siapakah aset ini akan
berada. Untuk itu, ia meminta anda untuk membuatkan program untuk mengetahui
hal tersebut.
Input Format
Input memiliki beberapa test case. Untuk setiap test case akan dimulai dengan
sebuah angka N, yaitu jumlah petak aset yang ingin diketahui oleh Pak Abdi. Pada
baris berikutnya akan diberikan angka X dan Y, yaitu koordinat (x,y) petak dimana
Pak Abdi akan menaruh pasak. Untuk N baris berikutnya akan diberikan 2 angka A
dan B, yaitu koordinat (x,y) petak aset yang ingin diketahui oleh Pak Abdi. Input akan
berakhir ketika N adalah 0. Untuk koordinat sumbu X, yaitu sumbu horizontal, -
1000000 adalah ujung paling kiri, sementara 1000000 adalah ujung paling kanan.
Untuk koordinat sumbu Y, yaitu sumbu vertikal, -1000000 adalah ujung paling
bawah, sementara 1000000 adalah ujung paling atas.
Constraints
Output Format
Untuk tiap input koordinat petak aset, cetak nama pemilik aset pada layar ( Johan /
Budi / Didi / Tono ). Jika koordinat petak aset yang diberikan berada pada
perbatasan, cetak Perbatasan di layar.
Sample Input 0
5
55
10 10
00
38
83
52
4
-99999 999
-1000 -1000
748 8292
-2123 0
1872 123
0
Sample Output 0
Budi
Didi
Johan
Tono
Perbatasan
Tono
Budi
Tono
Tono
Soal 2:
Pak Abdi adalah seorang guru di sekolah SD Jaya dengan 4 murid, yaitu Johan,
Budi, Didi, dan Tono. Saat ini kelas Pak Abdi mendapatkan tugas untuk
mengurutkan angka pada kartu yang diberikan Pak Abdi. Keempat murid Pak Abdi
sudah menyelesaikannya dan saat ini tinggal menunggu Pak Abdi untuk memeriksa
jawabannya. Namun, sayangnya Pak Abdi terpeleset sambil membawa tumpukan
kartu yang merupakan kunci jawaban tugas tersebut (tidak ada yang tahu mengapa
kunci jawaban juga berupa kartu, tapi terserah Pak Abdi.). Akibatnya, tumpukan
jawaban tersebut tercecer dan urutannya teracak. Pak Abdi kemudian meminta anda
untuk mengurutkan kembali jawabannya dan memberitahukan pada Pak Abdi siapa
yang mendapatkan jawaban benar terbanyak dari keempat muridnya.
Input Format
Tiap input akan dimulai dengan sebuah angka N, yaitu jumlah kartu pada tugas yang
diberikan oleh Pak Abdi. Pada baris berikutnya akan diberikan angka d[i] sebanyak
N angka, yaitu angka pada kartu milik Pak Abdi. Untuk 4 baris berikutnya, pada
masing – masing baris akan diberikan angka a[i] sebanyak N angka per baris, yaitu
hasil pengurutan milik masing – masing murid (baris 1 milik Budi, baris 2 milik Didi,
baris 3 milik Johan, baris 4 milik Tono). Angka pada kartu dipastikan tidak ada yang
berulang, dan tidak akan ada angka yang berbeda antara urutan Pak Abdi dengan
murid – muridnya.
Constraints
Output Format
Untuk tiap input, cetak nama murid dengan urutan yang memiliki kesalahan paling
sedikit pada layar ( Budi / Didi / Johan / Tono ). Jika ada 2 murid atau lebih dengan
jumlah kesalahan paling sedikit yang sama, cetak nama dengan urutan leksikografis
terkecil.
Sample Input 0
10
9 8 6 3 10 4 2 5 7 1
1 2 4 3 6 5 7 8 9 10
2 3 4 1 5 7 6 8 9 10
1 2 3 10 9 8 6 5 4 7
3 1 2 4 5 6 7 8 9 10
Sample Output 0
Tono
Sample Input 1
5
23 54 12 14 90
12 14 23 54 90
12 23 14 90 54
54 90 23 12 14
12 14 23 54 90
Sample Output 1
Budi
Soal 3:
Pak Abdi adalah salah satu programmer yang bekerja di bidang keamanan negara
X, dan anda saat ini berada di tim Pak Abdi. Saat ini tim anda mendapatkan tugas
untuk membuat sistem rudal dengan ketentuan sebagai berikut:
- Negara X memiliki N buah rudal, masing – masing dengan jarak tempuh maksimal d[i].
- Negara membutuhkan sistem rudal untuk menghancurkan K target yang berjarak e[i] dari tempat
peluncuran rudal.
- Tiap rudal hanya bisa digunakan sebanyak satu kali.
Saat ini anggota lain dari tim Pak Abdi sedang sibuk mengerjakan proyek lain. Maka
dari itu, Pak Abdi mengandalkan anda untuk melakukan tugas ini.
Input Format
Tiap input akan dimulai dengan 2 angka yaitu N dan K. Pada baris berikutnya akan
diberikan angka d sebanyak N angka, yaitu jarak maksimal dari masing – masing
rudal. Pada baris berikutnya akan diberikan angka e sebanyak K angka, yaitu jarak
dari masing – masing target.
Constraints
Output Format
Outputkan Ya pada layar jika sistem rudal mampu menghancurkan seluruh target,
atau outputkan Tidak jika sistem rudal tidak mampu menghancurkan seluruh target.
Sample Input 0
56
6 8 12 24 3
123456
Sample Output 0
Tidak
Sample Input 1
33
246
135
Sample Output 1
Ya
Soal 4:
Soal berikut ini adalah sebuah soal klasik di dunia programming, yaitu N-Queen
Problem. Diberikan sebuah bilangan N, hitung berapa banyak konfigurasi
penempatan N bidak ratu catur pada papan catur berukuran N kali N sehingga tidak
ada satupun ratu yang berada pada kolom, baris, atau diagonal yang sama.
Input Format
Tiap baris pada input akan mengandung sebuah integer N. Input akan berakhir
ketika nilai N = 0 (untuk N=0 tidak perlu diproses ke dalam persoalan).
Constraints
0 <= N <= 9
Output Format
Untuk tiap baris angka, keluarkan jumlah konfigurasi yang memungkinkan untuk
menempatkan N bidak ratu pada papan catur ukuran N * N.
Sample Input 0
3
0
Sample Output 0
Sample Input 1
1
2
0
Sample Output 1
1
0
Soal 5:
Pak Abdi adalah seorang ayah dengan 4 anak, yaitu Johan, Budi, Didi, dan Tono.
Salah satu permainan favorit Pak Abdi dengan anak – anaknya adalah pencarian
harta karun di lahan miliknya. Cara bermainnya adalah sebagai berikut:
- Pertama, keempat anak Pak Abdi akan memilih satu petak sebagai tempat mulai mencari harta di
lahan.
- Kemudian, Pak Abdi akan memilih satu petak di lahan untuk menyembunyikan harta.
- Yang pertama kali menemukan harta tersebut adalah pemenangnya.
Saat ini, anak – anak Pak Abdi sudah sangat pintar, sehingga mereka bisa
memperkirakan lokasi harta yang disembunyikan, dan selalu mengambil jarak
terdekat untuk bisa ke harta tersebut. Pak Abdi ingin sekali mensimulasikan
permainan ini ke dalam sebuah program, sehingga Pak Abdi bisa mengetahui siapa
pemenang dalam sebuah permainan. Sebagai teman baik Pak Abdi, anda diminta
tolong untuk membuat program untuk melakukan tugas ini.
Input Format
Input dimulai dengan 2 bilangan yaitu X dan Y, yaitu panjang (jumlah kolom) dan
lebar (jumlah baris) dari lahan Pak Abdi. X baris berikutnya akan mengandung
masing – masing Y karakter yang merupakan gambar peta ladang Pak Abdi.
Constraints
Output Format
Outputkan nama anak Pak Abdi yang berhasil memenangkan permainan tersebut.
Jika ada 2 atau lebih anak yang berhasil memenangkan permainan, pilih nama anak
dengan urutan leksikografis terkecil.
Sample Input 0
55
#####
..J..
.TBD.
.....
+....
Sample Output 0
Tono