Kamis, 30/12/2004 11:16:47, jp_as_TDelphiHelper menulis:

j> wah klo bener ada penalti, repot dong saya. saya submit
j> berkali-kali utk mengetahui berapa banyak input linenya.

Tadinya saya pikir begitu, tapi setelah submit terakhir ternyata
pengurangan waktu itu tidak ada. Mungkin hanya fluktuasi saja.

j> baru dapet bhw inputnya 100000 line lebih dikit..... makanya
j> ternyata ngga bisa pake compute dari n! langsung(metoda ini sangat

Saya duga begitu, pasti inputnya sangat banyak. Makanya cara terbaik
ya langsung simpan hasilnya ke array.

j> mpu, boleh sharing cara utk ngambil input yg lebih cepat daripada readln?

Saya baru obok2 ke rutin I/O-nya, hingga didapat penyakitnya, yaitu
operasi flush yg terlalu sering. Saya tambahkan rutin berikut
(khususnya SetTextBuf dan Flush):

const
  TextRecNameLength = 256;
  TextRecBufSize    = 256;

type
  TextBuf = array[0..TextRecBufSize-1] of char;
  TextRec = packed record
    Handle,
    Mode,
    bufsize,
    _private,
    bufpos,
    bufend    : longint;
    bufptr    : ^textbuf;
    openfunc,
    inoutfunc,
    flushfunc,
    closefunc : pointer;
    UserData  : array[1..16] of byte;
    name      : array[0..textrecnamelength-1] of char;
    buffer    : textbuf;
  end;
  FileFunc = procedure(var t : TextRec);

procedure SetTextBuf(var F : Text; var Buf; Size : Longint);
begin
  TextRec(f).BufPtr:[EMAIL PROTECTED];
  TextRec(f).BufSize:=Size;
  TextRec(f).BufPos:=0;
  TextRec(f).BufEnd:=0;
  TextRec(f).flushfunc := nil;
end;

procedure Flush(var t : Text);
begin
  if TextRec(t).mode = fmOutput then
    FileFunc(TextRec(t).InOutFunc)(TextRec(t));
end;

SetTextBuf spt biasa, lakukan untuk Input dan Output. Sedangkan Flush
perlu di akhir prg.

j> ps: kayanya algoritma mpu masih lebih cepat drpd algoritma saya....

Nanti kita lihat bedanya di mana. Paling beda2 tipis.

j> ngga pake PASCAL krn emang si FPC-nya kurang canggih.....

Tapi setelah di-tune-up larinya lumayan juga lho. Skr 'Mpu Gondrong'
bertengger di puncak, dgn Pascal dlm waktu 0:00.264. :-)

Tertanda,
Oguds [36856104]



Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED]



Yahoo! Groups Sponsor
ADVERTISEMENT
click here


Yahoo! Groups Links

Kirim email ke