[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-228093-113":3,"detail-sidebar-cat-0-id-113":80,"doc-detail-228093-id":127},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":73,"head_meta":75,"extra_data":77,"updated_unix":79},113,"id","day-1-problems-bukit-lembah-kata-spiral-factorial","Hari 1 - Soal Bukit-Lembah, Kata Spiral, Faktorial","","Dokumen berisi materi soal kompetisi pemrograman untuk Hari 1, mencakup tiga tugas utama. Tugas pertama mencari beda ketinggian terbesar antara puncak bukit dan titik terbawah lembah berikutnya dari serangkaian bilangan ketinggian. Tugas kedua menyandi teks menjadi susunan spiral matriks dengan penggantian spasi menggunakan underscore dan pengisian elemen sisa. Tugas ketiga menghitung nilai faktorial menggunakan definisi n! serta manipulasi bentuk faktorial untuk kasus bilangan besar yang melampaui representasi integer langsung.",{"@graph":14,"@context":72},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/id/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/id/document/ujian/","Ujian",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/id/document/day-1-problems-bukit-lembah-kata-spiral-factorial/228093/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/day-1-problems-bukit-lembah-kata-spiral-factorial/228093.png","ImageObject",300,407,{"name":42,"@type":43},"Jacob","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-09-26","2026-09-10",true,{"@type":52,"interactionType":53,"userInteractionCount":26},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58,64,68],{"name":59,"@type":60,"acceptedAnswer":61},"Bagaimana cara menentukan puncak bukit dan titik terbawah lembah pada soal Bukit dan Lembah?","Question",{"text":62,"@type":63},"Puncak terjadi saat perubahan dari menaik lalu menurun (boleh diselingi datar). Titik terbawah terjadi saat perubahan dari menurun terus lalu menaik (boleh diselingi datar).","Answer",{"name":65,"@type":60,"acceptedAnswer":66},"Apa aturan pengodean untuk soal Kata Spiral?",{"text":67,"@type":63},"Matriks spiral diisi mulai dari pusat dengan urutan: kanan 1, bawah 1, kiri 2, atas 2, lalu berulang dengan panjang yang meningkat. Spasi diganti underscore, dan jika ada sel sisa setelah karakter terakhir diisi underscore juga.",{"name":69,"@type":60,"acceptedAnswer":70},"Mengapa perhitungan faktorial pada soal Faktorial memerlukan pendekatan khusus?",{"text":71,"@type":63},"Karena nilai faktorial untuk n besar menghasilkan bilangan dengan jumlah digit sangat banyak sehingga perhitungan langsung berpotensi melampaui representasi integer dan menjadi tidak efisien bila dihitung satu per satu.","https://schema.org",{"og:url":32,"og:type":74,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":76,"canonical":32},"index,follow",{"doc_id":78,"site_id":7},228093,1790421142,{"code":4,"msg":81,"data":82},"success",[83,88,92,96,100,104,108,112,116,119,123],{"id":84,"doc_module":4,"doc_module_name":25,"category_name":85,"show_sort_weight":86,"slug":87},55,"Agama & Spiritualitas",60,"religion-spirituality",{"id":89,"doc_module":4,"doc_module_name":25,"category_name":90,"show_sort_weight":86,"slug":91},48,"Cerita & Novel","story-novel",{"id":93,"doc_module":4,"doc_module_name":25,"category_name":94,"show_sort_weight":86,"slug":95},56,"Gaya Hidup","lifestyle",{"id":97,"doc_module":4,"doc_module_name":25,"category_name":98,"show_sort_weight":86,"slug":99},51,"Komik","comic",{"id":101,"doc_module":4,"doc_module_name":25,"category_name":102,"show_sort_weight":86,"slug":103},53,"Layanan Kesehatan","healthcare",{"id":105,"doc_module":4,"doc_module_name":25,"category_name":106,"show_sort_weight":86,"slug":107},54,"Penelitian & Laporan","research-report",{"id":109,"doc_module":4,"doc_module_name":25,"category_name":110,"show_sort_weight":86,"slug":111},49,"Sastra","literature",{"id":113,"doc_module":4,"doc_module_name":25,"category_name":114,"show_sort_weight":86,"slug":115},52,"Teknologi","technology",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":86,"slug":118},50,"exam",{"id":120,"doc_module":4,"doc_module_name":25,"category_name":121,"show_sort_weight":86,"slug":122},57,"Umum","general",{"id":124,"doc_module":4,"doc_module_name":25,"category_name":125,"show_sort_weight":4,"slug":126},181,"Formulir","formulir",{"code":4,"msg":81,"data":128},{"doc_id":78,"user_id":129,"nickname":42,"user_avatar":130,"doc_module":4,"category_id":117,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":131,"file_id":132,"file_url":133,"file_type":134,"file_size":135,"view_count":26,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":136,"language":137,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":138,"faqs":139,"seo_title":140,"seo_description":12,"update_tm":141,"read_time":142},962084931830,"https://ap-avatar.wpscdn.com/davatar_a8503ba1806abce46bf441b54a3ca4cd","Hari 1 / Soal 1: Bukit dan Lembah  \nKode Soal: bukit  \nBatas Run-time: 1 detik / test-case  \nBatas Memori: 1 MB  \nMasukan: Standard input  \nKeluaran: Standard output  \nDeskripsi  \nDiberikan data ketinggian yang di catat dalam perjalanan dari suatu posisi awal ke posisi akhir. Data ketinggian adalah bilangan-bilangan integer (bulat) positif. Jalankadang menaik, kadang menurun, kadang datar saja. Posisi dimana terjadi perubahan menaik kemudian menurun (boleh diselingi jalan datar) didefinisikan sebagai puncak dari suatu bukit. Sebaliknya, posisi terjadi perubahan dari menurun terus menaik (boleh diselingi bagian jalan yang datar) didefinisikan sebagai titik terbawah suatu lembah. Walaupun perubahan tersebut kecil saja, definisi itu tetap berlaku. Carilah beda ketinggian terbesar antara puncak bukit dengan titik terbawah lembah berikutnyaatau sebaliknya antara titik terbawah lembah dengan puncak bukit berikutnya pada data perjalanan tersebut.  \nMasukan  \nMasukan berisi data yang bisa sangat banyak sekali. Setiap elemen data dalam baristersendiri. Anda membacanya dari yang pertama hingga end of file; minimal ada dua data dalam masukan..  \nKeluaran  \nProgram hanya menghasilkan satu bilangan yang menyatakan beda ketinggianterbesar yang diperoleh. Perbedaan tinggi paling besar dijamin tidak akan melebihi harga long integer dalam Pascal.  \nContoh  \nMasukan  \n10  \n26  \n26  \n35  \n35  \n27  \n30  \n30  \n45  \n10  \n8  \n9  \nKeluaran 37  \nPenjelasan  \nAda 12 data. Beda ketinggian pertama (10 ke 35) adalah 25, beda kedua (35 ke 27) adalah 8, beda ketiga (27 ke 45) adalah 18, beda ketinggian keempat (45 ke 8) adalah 37, dan beda ketinggian kelima (8-9) adalah 1. Jadi beda ketinggian tertinggi adalah 37.  \nPetunjuk Standard I/O  \nBanyak peserta yang tidak mengikuti PJJ karena berbagai alasan. Dalam deskripsisoal-soal PJJ diberikan contoh-contoh bagaimana membaca dari standard input/output. Tapi, ok sekarang diberikan contoh membaca semua bilangan dari standard input dengan format seperti yang digunakan pada sal Bukit-Lembah.  \nvar bil: integer;  \nbegin  \nwhile not eof(input) do begin  \nreadln(bil);  \nwrite(bil,' ');  \nend;  \nend .  \nMisalnya, disimpan dengan nama coba.pas. Untuk mengujinya, buatlah file coba.txt berisi bilangan-bilangan dengan format seperti untuk soal Bukit-Lembah sbb.  \n34  \n2  \n44  \n2  \n4  \n5  \n245  \n3  \n32  \nSetelah dicompile, jalankan dengan perintah  \ncoba \u003C coba .txt  \nSoal-soal lainnya pun menggunakan standard input/output sehingga anda tidak perlu assign(...), dst.  \nHari 1 / Soal 2: Kata Spiral  \nKode Soal: spiral  \nBatas Run-time: 1 detik / test-case  \nBatas Memori: 1 MB  \nMasukan: Standard input  \nKeluaran: Standard output  \nDeskripsi  \nSuatu sistem sandi menyandikan kalimat yang diberikan dalam bantuk spiral. Penyusunan tersebut dilakukan membentuk matriks spiral yang dimulai pusat matriks 1 karakter pertama, lalu 1 karakter berikutnya ke kanan, lalu 1 karakter berikutnya ke bawah, lalu 2 karakter berikutnya ke kiri, lalu 2 karakter berikutnya ke atas, 3 karakter berikutnya ke kanan, 3 karakter berikutnya ke bawah, dan seterusnya hingga semua karakter dalam kalimat termasuk dalam spiral. Khususnya, karakter spasi di ganti dengan “_” (underscore), dan jika ada baris/kolom tersisa setelah karakter terakhirmaka elemen-elemen matriks diisi juga dengan “_” (underscore) tsb. Misalnya kalimat “Seluruh peserta OSN bidang komputer harus mengerjakan soal-soal sebaikbaiknya untuk mendapatkan peringkat terbaik.”Dikodekan kedalam matriks sebagaiberikut.  \n\n| b | a | i | k | . | _ | _ | _ | _ | _ | _ |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| r | a | i | k | n | y | a | _ | u | n | t |\n| e | b | m | e | n | g | e | r | j | a | u |\n| t | - | _ | b | i | d | a | n | g | k | k |\n| _ | k | s | _ | h | _ | p | e | _ | a | _ |\n| t | i | u | N | u | S | e | s | k | n | m |\n| a | a | r | S | r | u | l | e | o | _ | e |\n| k | b | a | O | _ | a | t | r | m | s | n |\n| g | e | h | _ | r | e | t | u | p | o | d |\n|","cbCaiuGfhGKj6vAY","https://ap.wps.com/l/cbCaiuGfhGKj6vAY","pdf",115133,14,"Indonesian","# Soal 1 - Bukit dan Lembah\n## Deskripsi\n## Masukan dan Keluaran\n# Soal 2 - Kata Spiral\n## Deskripsi\n## Masukan dan Keluaran\n# Soal 3 - Faktorial\n## Deskripsi\n## Masukan dan Keluaran","[{\"question\":\"Bagaimana cara menentukan puncak bukit dan titik terbawah lembah pada soal Bukit dan Lembah?\",\"answer\":\"Puncak terjadi saat perubahan dari menaik lalu menurun (boleh diselingi datar). Titik terbawah terjadi saat perubahan dari menurun terus lalu menaik (boleh diselingi datar).\"},{\"question\":\"Apa aturan pengodean untuk soal Kata Spiral?\",\"answer\":\"Matriks spiral diisi mulai dari pusat dengan urutan: kanan 1, bawah 1, kiri 2, atas 2, lalu berulang dengan panjang yang meningkat. Spasi diganti underscore, dan jika ada sel sisa setelah karakter terakhir diisi underscore juga.\"},{\"question\":\"Mengapa perhitungan faktorial pada soal Faktorial memerlukan pendekatan khusus?\",\"answer\":\"Karena nilai faktorial untuk n besar menghasilkan bilangan dengan jumlah digit sangat banyak sehingga perhitungan langsung berpotensi melampaui representasi integer dan menjadi tidak efisien bila dihitung satu per satu.\"}]","Hari 1 - Soal Bukit-Lembah, Kata Spiral, Faktorial | PDF",1789020612,22]