zıbıdık etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
zıbıdık etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Haziran 2009 Pazar

Olimpiyat sorusu falan - bi başkası

Olimpiyat kampındayken kod yazma dışında pek ilgi çekici bişey olmadığı için blog da gayet boş kalabiliyor. Arada sırada yaptığım çözümleri beğenirsem yolluyorum işte. Şurada USACO training şeyindeki numtri sorusunun çözümü;
/* 
ID: kuzux921
PROG: numtri
LANG: C++
*/

#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
  ofstream out ("numtri.out");
  ifstream in ("numtri.in");
  
  int rows; in >> rows;
  
  vector < vector<int> > triangle;
  for(int i=0;i<rows;i++){
    vector<int> tmp;
    triangle.push_back(tmp);
    for(int j=0;j<=i;j++){
      int n; in >> n;
      triangle[i].push_back(n);
    }
  }
  
  for(int i=triangle.size()-2;i>=0;i--){
    for(int j=0;j<=i;j++){
      triangle[i][j] += max(triangle[i+1][j],triangle[i+1][j+1]);
    }
  }
  
  out << triangle[0][0] << endl;
  
  return 0;
}

Bu da yine aynı yerden frac1 sorusu;
/* 
ID: kuzux921
PROG: frac1
LANG: C++
*/
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

struct Fraction{
  int num;
  int den;
};

inline double value(const Fraction& frac){
  return ((double)frac.num)/((double)frac.den);
}

void search(int limit, vector< vector<bool> > matrix, vector<Fraction>& res){
  Fraction def; def.den = def.num = 1;
  res.push_back(def);
  def.num = 0;
  res.push_back(def);
  
  for(int i=2;i<=limit;i++){
    for(int j=1;j<i;j++){
      if(!matrix[i][j]) continue;
      Fraction tmp;
      tmp.num = j;
      tmp.den = i;
      res.push_back(tmp);
      for(int k=2;k<=limit/i;k++){
        matrix[i*k][j*k] = false;
      }
    }
  }
}

bool sortr(const Fraction& f1, const Fraction& f2){
  return value(f1) < value(f2);
}

int main(){
  ofstream out ("frac1.out");
  ifstream in ("frac1.in");
  int limit; in >> limit;
  
  vector<Fraction> res;
  vector< vector<bool> > matrix;
  matrix.resize(limit+1);
  for(int i=2;i<=limit;i++){
    matrix[i].resize(i+1);
    for(int j=1;j<i;j++){
      matrix[i][j] = true;
    }
  }
  
  search(limit,matrix,res);
  sort(res.begin(),res.end(),sortr);
  
  for(unsigned int i=0;i<res.size();i++) out << res[i].num << "/" << res[i].den << endl;
  
  return 0;
}

17 Haziran 2009 Çarşamba

Olimpiyat sorusu falan

Olimpiyatta çözmeye çalıştığımız bi soru. Bir kümeyi(1..N şeklinde) öyle iki parçaya ayıracaz ki o iki parçanın elemanlarının toplamları eşit olsun. Çözüm güzel oldu, yollayayım dedim. Kimse çözemeyince çözümü anlatan ermana teşekkür etmekteyiz buradan.
#include 
#include 
using namespace std;

int main(){
  int N = 42;
  int top = N*(N+1)/4;
  
  vector< vector > dyn;
  
  for(int i=0;i<=top;i++){
    vector temp;
    dyn.push_back(temp);
    for(int j=0;j<=N;j++) dyn[i].push_back(0);
  }
  dyn[0][0] = 1;
  
  for(int i=1;i<=N;i++){
    for(int j=0;j<=top;j++){
      dyn[j][i] = dyn[j][i-1];
    }
    for(int j=0;j<=top;j++){
      if(i+j<=top)
        dyn[j+i][i] += dyn[j][i-1];
    }
  }
  int res = dyn[top-1][N] / 2;
  cout << res << endl;
  return 0;
}

8 Haziran 2009 Pazartesi

RTE'den özlü sözler

"Ben sana ’Sayın’ diyorum. Sen de bana "Sen" ya da ’Siz’ diyemezsin", 7 Haziran 2009, RTE
"Ananı da al git lan!", 11 Şubat 2006, RTE
Bunları birleştirelim;
"Lan deme lan babam kızıyo lan!", İleriki bir tarih, RTE
Sonrasında;
"Çeteler yargının içine sıçmış", 22 Ağustos 2007, RTE
Bunu ilk cümleyle birleştirmeye çalışalım;
"Küfretme yarraam(burası vurgulu söylenecek) aile var", t zamanı, RTE

20 Mayıs 2009 Çarşamba

Yaratılışçıların Evrimi Kabul Etmek İstememeleri

Elimizde evrimi destekleyen bir sürü, böyle zibilyon tane kanıt var. Ne güzel, ama bizim yaratılışçılar hala "Yeterince kanıt yok, peh!" demekteler. Bunu şöyle bir benzetmeyle anlatınca daha garip oluyor.

Diyelim ki, bir yerde yarısı yenmiş bir geyik bulundu. Etrafında da kurtların ayak izleri var. Buradan mantık çerçevesinde ulaşacağımız sonuç, "Kurtlar geyiği yedi" olur. Eğer ardından yakınlarda bir grup üzerlerinde geyik kanı bulunan kurt bulunur, bu kurtlardan birinin kusmuğu incelendiğinde de geyik etine rastlanırsa, az önceki fikir desteklenmiş olur.
Şimdi, eğer garip bir kurt-hayranı(Ülkücü? :D) gelip de kurtları savunmak için "yaratılışçı" stratejisini kullanabilir ve "Kurtlar geyiği yedi" teorisinin "ispatı" için saçma derecede yüksek seviyeler belirleyebilir. Mesela, kurtların geyiği yemesini kimse "doğrudan görmediği için", bu teorinin doğruluğundan şüphe duyabiliriz.
Bunun dışında, "kurt teorisinin" çeşitli detayları içermediğini iddia edebilir. Mesela, "kurt teorisinin" saldıran kaç kurt olduğunu söylemediğini, kurtların ilk olarak sağdan mı soldan mı saldırdığını bildirmediğini, geyiğin saldırı esnasında ne yapmakta olduğuyla ilgili hiç bir şey anlatmadığını iddia edebilir. Geyiğin kurtlardan hızlı koşabildiğini, dolayısıyla kurt teorisinin tamamen yanlış olduğunu da savunabilir. Bu kişiye göre teorideki bu "boşluklar" kurt teorisini tamamen saçmalığa çevirebilir.

7 Mayıs 2009 Perşembe

Haaaaaaayııııııırr!!!

Geçen haftasonu çok ama çok acı bir haber geldi Amerika'dan bir yerlerden. Bütün oyun dünyasını derinden sarsan, beni ortalamadan da çok sarsan bir haberdi bu. Duke Nukem'in yapımcısı 3DRealms, kepenk kapatmış, batmış falan filandı. Bu batışın dışında, bu güzide oyunun yayıncısı, isim hakları sahibi Take Two da, "bu oyuna bütçe mütçe ayırmıyoruz, çıkaracaksalar çıkarsaymışlar 12 senedir" dedi. Bu nedenle, 12 yıldır büyük, devasa umutlarla beklediğimiz, kusursuz olmasını umduğumuz güzide oyunumuz Duke Nukem Forever iptal edilmiş oyunlar cehennemin dibini boyladı. Benim için özel yanı ise, ne zaman çok feci bunalsam, kafayı yeme sınırına gelsem, Duke Nukem Forever benim için gelecekten umuttu. O oyun çıkacaktı, çok uzak gelecekte de olsa. Sonsuz gibi gözüken tünelin içindeki minik ışık gibiydi. Neyse, başka şeyler buluruz şimdi kendimize. Futurama 6.sezon olabilir mesela, onu bekleriz biraz da.
Biterken Megadeth - She-Wolf çalmaktaydı.

4 Mayıs 2009 Pazartesi

Ruby 1.9'daki bir gariplik

Ruby 1.9, diğer bir çok güzel zıvırla birlikte, çok piskopat bir encoding desteği de sağlıyor. Tabi düşündüğümüzde neden böyle yüzlerce encoding'e ihtiyacımız olsun ki, bize UTF-8 yeter diyoruz ama sonuçta Ruby Japonya'da ortaya çıkmış bir dilcan, oralarda baya popüler hem, o yüzden bu konuda birazcık overkill davranmış 1.9. Neyse, bu yeni encoding desteği olaylarını deniyordum, oldukça garip bir davranış gördüm. Metod isimlerinde Türkçe karakter kullanmamızda bir sorun yok, ancak sınıf isimlerinde sorun çıkıyor biraz. Sorun da şu, sınıf isimlerinde Türkçe karakter kullanabiliyoruz ancak ilk karakter hariç. Ruby'de sınıf isimleri constant olmak zorunda olduğu için ilk harfleri büyük harf olmak zorunda, bu büyük harf kontrolünde de standart ascii dışındaki karakterlere bakılmıyor, e büyük Ç, Ğ falan da olsa adamdan saymıyor. Sonuçta; Çğıöşü adlı bir sınıf tanımlamaya kalkınca hata veriyor ancak Açğıöşü adlı bir sınıf gayet güzel çalışabiliyor.

27 Nisan 2009 Pazartesi

Mayıs Sınavı ve ardından gelen kafa izni

Ulusal Bilgisayar Olimpiyatı 1. aşama sınavına girdim geçen cumartesi günü. Oldukça iyi geçti gibi, şu anda "onaylanmış" durumda 3 yanlışım var, bir o kadar daha çıkacağını düşünsek bile rahat rahat geçiyorum. Neyse, böyle büyükçene bir şeyden sonra okul da sağolsun bizi kırmadı 1 hafta tatil yapıyoruz, kafa izni de denebilir, bu arada blogcan da hafiften kafa iznine çıkabilir. Zıbıdıkla kalın(güzel oldu bu da böyle, esen kalın gibi)

11 Nisan 2009 Cumartesi

CoMedya mıdır nedir

TV8'de yayınlan bir program var CoMedya diye Yavuz Seçkin'in, kendisi Avrupa Yakası'nda Sertaç'ı oynuyordu galiba. Neyse, bu programın varlığından 30 saniye kadar önce haberdar oldum yan odadan jeneriğini duyup bi bakmaya giderek. Beni enterese etme sebebi de jeneriğiydi zaten. Zira, jeneriğinde Gogol Bordello'dan Think Locally Fuck Globally'den bir sample çalmaktaydı. Bu, etrafta gördüğüm Gogol Bordello'dan bir şarkıyı jeneriğinde kullanan ikinci program(diğeri Uyan Türkiye). Uyan Türkiye'de daha önce defalarca Gogol Bordello'nun lafının geçtiğini hatırlıyorum ama bunda hiç bir crediting falan beklemiyorum, zaten şarkının oldukça kısa bir kısmını sample gibisinden kullanmışlar

Lyricler falan ikinci partcan

daha önceki 'Lyricler falan' postumda yazdığım lyrics reader zıvırını az daha geliştirdim ve artık dbus kullanarak rhythmbox'ta çalan şarkıyla etkileşiyor. Bu arada ruby için dbus kütüphanesi yok gibi birşey, aman dikkat. dbus kütüphanesi yok gibi ama kullanımı oldukça rahat. Burada önemli olan, kendi yazdığım minik şeyleri pratikte pek kullanmam. Ancak code generation falan tarzı şeyler olur, öyle. Ama bu benim gibi rhythmbox'a plugin yüklemeye üşenen üşengeç bir insan için oldukça kullanışlı gözüküyor. Ahanda kaynak kodu.
Bu arada, kodun 42 satır uzunluğunda olduğuna dikkat çekerim(sondaki boş satır sayılmaz, bizden değildir).

Aşı falan(a.k.a Korku Filmcanı)

Dün ya kızamıkçık ya da Hepatit B(birinden biri ama hangisi bilmiyorum) aşısı oldum. Acıtmıyomuş onu farkettim hani o kadar da korku filmlik bir durum yok. Ya da geçen yazki kıl dönmesi ameliyatcanından sonra biraz daha rahat katlanıyorumdur kim bilir? Birkaç ay önce kan alırlarken de acımamıştı hem heey!

8 Nisan 2009 Çarşamba

Rickroll müessesesi ve bu müessese hakkında..ee..zıbıdıklar

Hepimiz rickroll'u biliyoruz, tamam gayet güzel ve artık (ne yazık ki) hafiften modası geçmiş bir olay kendisi. Neyse bu zımbırtı hakkında iki önemli sorum vardı.
İlki, bir hedenin rickroll olduğunu keşfettikten sonra bunun rickroll olduğunu bile bile rick astley'in never gonna give you up klibine ulaşırsak rickroll edilmiş sayılır mıyız?
İkincisi de, bir insan kendi kendini rickroll edebilir mi? Hatta olayı biraz daha zorlaştırmak için ikinci sorunun cevaplanmasında birinci sorunun cevabını hayır kabul edebiliriz.
Bu soruların cevabını bir süredir aramaktaydım, ve ikincisinin cevabını deneysel bir şekilde buldum. Manası: kendi kendimi rickroll ettim.
Nasıl oldu dersek, şöyle; 2 hafta kadar önce bir rickroll videosu indirmiş ve bunu bu ulvi deneysel amaçla video.flv adıyla kaydetmiştim. Sonrasında bugün indirdiğim alakasız bir videoda ses olmadığını farkedince başka bir video açıp bakiim ses olmama sorunu videodan mı kaynaklı yoksa alakasız birşey mi var. Bundan sonra orada masum bir şekilde duran video.flv'yi boşluğuma gelerek, rickroll olduğunu unutarak açtım. Ve bir anda başlayan never gonna give you up ile öğrendim ki, ses olmama sorunu diğer videonun sorunuymuş.

7 Nisan 2009 Salı

Zıbıdık Gerçeği (Acı ama gerçek)

Yıllardır 'Zıbıdık' kelimesini her an her yerde kullanma potansiyeline sahibim(bkz: bu blogun başlığı, postlar, taglar). Yıllar önce simultane bir şekilde bulduğum bir zıbıdıktı o esas Zıbıdık. Yıllar içinde gelişti, büyüdü, tam bir zıbıdık oldu. En sonunda hayatın anlamına dönüştü,
#define ZIBIDIK 42
oldu. Ben tabi bütün bu süre içinde Zıbıdık'ın bundan ayrı bir anlamı olmadığını düşünerek yaşadım. Ancak kısa bir süre önce bir şey öğrendim ve bunu öğrenmek benim için çok acı verici oldu. "Zıbıdık" ın başka bir anlamı vardı! Sinop civarlarında yetişen bir otun adıymış aynı zamanda. Yemeği de yapılıyormuş(ahanda tarifi). Bunca yıldır benden önce anlamsız sandığım kelimecanın anlamı varmış, ben, onun için ilk değilmişim!
Bunun üzerine, uzun süre üzüldüm, ama sonunda farkına vardım ki üzülmek gereksizmiş. Zıbıdık kelimesini oluştururken zıbıdıkotu'nun varlığından habersiz olduğuma göre, tıpkı Anna'nın Basshunter için sürekli bir bot kalması gibi(bkz. Basshunter - Boten Anna) zıbıdık da benim için benim dışımda anlamsız kalacak.

4 Nisan 2009 Cumartesi

Lyricler falan

Kişilikler: Ben, Birand
Zaman: dün bi ara
Mekan: ben evdeyim, birand kendi evinde. iletişim msn ile sağlanmakta(birand'ı da bir türlü açık bi protokole geçiremedim ya)
Olay: birand'ın lyricwiki'den şarkı sözü arayıp bulduğu sözleri mp3 dosyasının id3 taglarına kaydeden bir programdan etkilenip "yok artık" demesi. akabinde benim gülmem ve "yok artık buna da yok artık denir mi çok basit bişey" demem.
Sonuç: aşağıda görülen ruby ile yazılmış minik zımbırtıyı saçmalamam
require 'rubygems'
require 'open-uri'
require 'cgi'
require 'hpricot'
require 'id3lib'

usage = "lyrics.rb filename"
unless ARGV.length == 1
  puts usage
  exit
end

def lyrics(title,artist)
  file = Hpricot(open("http://lyricwiki.org/#{artist}:#{title}"))
  div = (file/".lyricbox")[0]
  begin
    div.innerHTML.gsub(/\
/,"\n").gsub(/<(.|\n)*?>/,"") rescue puts "No lyrics found" nil end end def escape x CGI.escape(x).gsub(/\+(\w)/){|m| "_" + m[1].chr.upcase}.sub(/(\w)/){|m| m.upcase} end tag = ID3Lib::Tag.new(ARGV[0]) artist,title = escape(tag.artist), escape(tag.title) ly = lyrics title, artist tag.lyrics = ly tag.update!

20 Temmuz 2007 Cuma

gogol bordello

gogol bordello,böyle garip gurup,manyak,azgın,hiperaktif bi grup bunlar.geçen sene rock'n'coke a da geldiler.belki de orda izlenesi tek gruptular.bunların solisti ukraynalı,baterist hariç kalanları da biyerlerden göçmen işte :D.Canlı performansları o biçim muhteşem.ahanda bikaç tanesi: