Pembahasan OSN 2010 dan BNPCHS 2009

Kegiatan belajar semester 2 kelar juga, fiuh. Hari-hari kosong gini enaknya diisi sama coding. Bener-bener ngerasain coding sebebas ini,haha. Setelah selama KBM di sekolah, coding cuma bisa dilakuin pas gak ada guru atau pas malam hari setelah belajar buat sekolah (baca:jam 10-12). Well, di post ini gw mau bahas sedikit soal OSN 2010 sesi 2 dan BNPCHS 2009. Masing-masing kontes akan gw bahas satu soal, enjoy it guys!😀

OSN 2010 sesi 2 – Pecahan Uang

Ide dari soal ini yaitu greedy, cuma dimodifikasi sedikit. Rada mirip sama soal IPSC yang gw bahas di post sebelumnya. Yang ngebedain cuma di soal ini kita ga nampilin jumlah uang yang kosong. Tampilin jumlah uang yang tersedia aja.

Kode :

#include <iostream>
using namespace std;
int main() {
int uang[10]={1000,500,200,100,50,20,10,5,2,1};
int tampung[10];
int k;
for (int i=0;i<10;i++) {
tampung[i]=0;
}
cin >> k;
for (int i=0;i<10;i++) {
int count=0;
while (k>=uang[i]) {
count++;
k-=uang[i];
}
tampung[i]=count;
}
for (int i=0;i<10;i++) {
if (tampung[i]!=0)
cout << uang[i] << " " << tampung[i] << endl;
}
}

BNPCHS 2009 – BeSaR DaN KeCiL

Ide dari soal ini yaitu ngubah masing-masing char dari string huruf yang diinput ke dalam ASCII. Dalam ASCII, perbedaan antara huruf besar dan huruf kecil sebanyak 32. Misal nilai ASCII huruf A=65, maka nilai ASCII huruf a sebanyak 97. Begitu juga untuk B, C , dst.

Kode :

#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n;
cin >> n;
for (int i=0;i<n;i++) {
string huruf;
cin >> huruf;
for (int j=0;j<huruf.length();j++) {
int tampung=0;
if ((j+2)%2==0) {
tampung=(int)huruf[j]-32;
huruf[j]=(char)tampung;
}
}
cout << huruf << endl;
}
}

Sekian dari pembahasan kali ini, semoga berguna untuk semuanya. Let’s fighting together for IOI!😀

Hope I can join it someday, aamiin.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s