Pages

Selasa, 15 Oktober 2013

Refleksi Matriks | Soal TOKI Learning Center

 Jawaban  + Pembahasan




//-----Unit Library------------------------------
#include <stdio.h>

//-----Program Utama-----------------------------
int main(){
//-----Deklarasi variabel------------------------
    int i,j,status,solusi,m,N;
    int A[75][75],B[75][75];

//-----Input Matriks A---------------------------   
    scanf("%d %d",&m,&N);
    for(i=1;i<=N;i++){
        for(j=1;j<=N;j++){
            scanf("%d",&A[i][j]);
        }   
    }

//-----Input Matriks B---------------------------   
    scanf("%d %d",&m,&N);
    for(i=1;i<=N;i++){
        for(j=1;j<=N;j++){
            scanf("%d",&B[i][j]);
        }
    }
   

Kamis, 15 Agustus 2013

Bahas Soal Terbaru - Strings... Strings Everywhere... | TOKI Learning Center

Link Soal : http://tokilearning.org/problem/1495

sebenarnya cukup tegang dengan soal ini :D
but it's not a reason.

Ok, langsung saja



Ingat :
Pada semua kasus, total banyak karakter pada N buah string (tidak termasuk s) yang ada pada masukan tidak melebihi 200 000. Selain itu, masing-masing dari N buah string itu panjangnya tidak melebihi panjang s.

  • Subtask 1 (30 poin): panjang s melebihi nol tapi tidak melebihi 1000. 1 <= N <= 1000.
  • Subtask 2 (70 poin): panjang s melebihi nol tapi tidak melebihi 100 000. 1 <= N <= 100 000.

Format Masukan

Baris pertama masukan berisi sebuah string s sesuai pada deskripsi soal. Kemudian, baris kedua berisi sebuah bilangan bulat N. Pada N baris berikutnya, masing-masing berisi sebuah string a[i].


Format Keluaran

Sebuah baris berisi sebuah bilangan bulat yang merupakan banyaknya string dari N buah string yang merupakan subsequence dari s.

apa itu subsequence???
subsequence itu maksudnya apakah string tersebut merupakan bagian dari string sebelumnya
misalnya
string S=asbcdefghijklmnopqrstuvw
string A=defghij
string B=mno
string C=ghj
string D=klmo

maka A dan B termasuk subsequence dari S sedangkan C dan D tidak.


Bagaimana mendapatkan 200000 karakter sedangkan string hanya memuat 255 karakter???
Bisa,,, gunakan array of char.


Mulai Pembahasan :

Pertama siapkan sebuah kode algoritma untuk menginput karakter yang sampai sepanjang 200000 karakter itu spt ini.

Sabtu, 27 Juli 2013

Algoritma bilangan Fibonacci dan Konstanta Golden Ratio

Untuk menghasilkan bilangan Fibonacci ke-N  atau F(N) selalu digunakan cara F(N)=F(N-1)+F(N-2).
Biasanya algoritma yang digunakan sbb :

------------------------------------------------------------------------------
fungsi fibo(masukan N{ berjenis long/longint} ) keluaran {berjenis long/longint}
mulai
         jika {if} (N=1) maka fibo=0
         tetapi jika {else if} (N=2) maka fibo=1
         selain itu {else} maka fibo=fibo(N-1)+fibo(N-2);
selesai
------------------------------------------------------------------------------

Deret Fibonacci sbb : 0 1 1 2 3 5 8 13 21 34 55 ... dst
untuk N>2 jika dimisalkan

Jawaban Soal Programming, sini masuk!!!!

Problem :
Pak Ali sedang meneliti tentang keunikan dari bilangan fibonacci. Kita tahu bahwa bilangan fibonacci ke-n didapat dari dua bilangan fibonacci sebelum nya yaitu fibonacci ke-(n-1) dan ke-(n-2). Ditengah sela penelitian nya ia mencoba-coba menghitung angka pada fibonacci tsb. Pada saat itu ia telah menulis sebanyak sembilan deret bilangan fibonacci, sbb :
0 1 1 2 3 5 8 13 21 , kemudian ia menghitung

Rabu, 17 April 2013

Pembahasan Soal Sphere Online Judge problem No.11

Hallo para sobat blogger, khususnya para programmer pemula.

Kali ini saya akan membahas soal pemrograman dari situs web Sphere Online Judge problem nomor 11. 

Silahkan diterjemahkan sendiri soalnya ini.


The most important part of a GSM network is so called Base Transceiver Station (BTS). These transceivers form the areas called cells (this term gave the name to the cellular phone) and every phone connects to the BTS with the strongest signal (in a little simplified view). Of course, BTSes need some attention and technicians need to check their function periodically.
ACM technicians faced a very interesting problem recently. Given a set of BTSes to visit, they needed to find the shortest path to visit all of the given points and return back to the central company building. Programmers have spent several months studying this problem but with no results. They were unable to find the

Sabtu, 05 Januari 2013

BAB 1D : Fungsi dan Prosedur - Procedure

Solusi BAB 1D : Fungsi dan Prosedur - Procedure




PROGRAM prosedur;
var
    bil : integer;
procedure TulisJawaban(x: integer);
begin
    case x of
        1..9: begin writeln('satuan'); end;
        10..99: begin writeln('puluhan'); end;
        100..999: begin writeln('ratusan'); end;
        1000..9999: begin writeln('ribuan'); end;
        10000..30000: begin writeln('puluhribuan'); end;
    end;
end;
 
begin
while not eof(input) do
begin
    readln(bil);
    TulisJawaban(bil);
end;
end.

BAB 1D : Fungsi dan Prosedur - Function

Solusi BAB 1D : Fungsi dan Prosedur - Function




PROGRAM fungsi;
var
    bil: integer;
 
function Faktorial(n: integer): longint;
begin
    if (n = 0) then
        Faktorial := 1
    else
        Faktorial := n * Faktorial (n - 1);
end;
 
function Valid(n: integer): boolean;
begin
    Valid := (n >= 0) and (n <= 10);
end;
 
begin
    readln(bil);
    if (Valid(bil)) then
        writeln(Faktorial(bil))
    else
        writeln('ditolak');
end.

BAB 1D : Fungsi dan Prosedur - Var Parameter

Solusi BAB 1D : Fungsi dan Prosedur - Var Parameter




PROGRAM varparameter;
var
    a, b: integer;
 
 
procedure Swap(var a, b: integer);
var
    temp: integer;
begin
    temp := a;
    a := b;
    b := temp;
end;
 
 
begin
    readln(a, b);
    Swap(a, b);
    writeln(a, ' ', b);
end.

BAB 1C : Perulangan - Bilangan Agak Prima

Solusi BAB 1C : Perulangan - Bilangan Agak Prima




PROGRAM agakprima;
var pr,bts,tes,cek : longint;
    c,a : byte;
begin
     readln(c);
     for a:=1 to c do
         begin
              readln(pr);
              cek:=0;
              tes:=3;
              bts:=trunc(pr/2);
     if ((pr mod 2=0) and (pr<>2)) or (pr=1) then
        inc(cek);
     while tes<=bts do
     begin
       if (pr mod tes=0) then
       begin
        inc(cek);
        if cek>2 then break;
       end;
       inc(tes);
     end;
     if cek>2 then
       writeln('TIDAK')
     else
       writeln('YA');
     end;
end.

BAB 1C : Perulangan - Faktor Bilangan

Solusi BAB 1C : Perulangan - Faktor Bilangan




PROGRAM faktorbilangan;
var N,i:longint;
begin
readln(N);
for i:=1 to N do begin
 if N mod i=0 then begin
  writeln(N/i:0:0);
 end;
end;
 
readln end.

BAB 1C : Perulangan - Cek Bilangan Prima

Solusi BAB 1C : Perulangan - Cek Bilangan Prima




PROGRAM cekprima;
var i,j : integer;cek:boolean;
begin
while not eof do begin
readln(i);
cek:=true;
 if i<2 then cek:=false;
 for j:=2 to i-1 do begin
  if i mod j=0 then begin
   cek:=false; break;
  end;
 end;
if cek=true then writeln('YA') else writeln('TIDAK');
end;
readln end.

BAB 1C : Perulangan -Rata rata

Solusi BAB 1C : Perulangan - Rata rata



PROGRAM ratarata;
VAR
n,i : integer;
b,k,r,m,jum : real;
BEGIN
readln(n);
k := 1000000;
b := -1000000;
for i:= 1 to n do
begin
readln(m);
jum := jum+m;
if m < k then k := m;
if m > b then b := m;
end;
r := jum/n;
writeln(k:0:2,' ',b:0:2,' ',r:0:2);
END.

BAB 1C : Perulangan - Pola 3

Solusi BAB 1C : Perulangan - Pola 3



PROGRAM pola3;
var n,i,k : byte;
begin
     readln(n,k);
     for i:=1 to n-1 do
     begin
          if (i mod k = 0) then
          write('*')
          else
          write(i);
          write(#32);
     end;
     if ((n mod k) = 0) then
        write('*')
        else
        writeln(n);
end.