CodeNight4 Soru ve Çözümleri

Soru 1    Kriptocu Ozan

Ozan arkadaşımız kriptoya kafasını takmış durumda ve kendisi bir kripto algoritması oluşturmak istiyor. Aklına gelen fikirlerden biri, bir resmin RGB bitlerinin içine mesaj gizlemek oluyor. Bu şekilde şifrelediği bir mesajı başka bir arkadaşına yolluyor ve bunu çözmesini istiyor. Ozan’ın arkadaşına yardımcı olabilir misiniz?

Kurallar:

    RGB bitlerinin hepsini kullanmanız gerekmektedir.

Girdi Biçimi:

    Girdi olarak resim dosyasının yolu verilecektir.

Örnek Girdi:

test.png

Örnek Çıktı:

ACM kuruldugundan beri bilgisayar mühendisligine yön veren bir topluluktur.

Cevap:

Soru 2    Hekır Leo

Leo ACM Fırat öğrenci topluluğunu sevmeyen bir arkadaşımız, her zaman bir açığımızı kolluyor ve sonunda buluyor. Sitemize root erişimi bulunan bir yönetim kurulu üyesi kantinde bilgisayarını açık bırakıyor ve bunu gören Selo hemen Chrome şifrelerinin olduğu veri tabanını kopyalıyor ve kaçıyor. Yönetim kurulu üyesi bilgisayarının bıraktığı gibi olmadığını anlayıp hemen Sistem yöneticimize söylüyor ve sistem yöneticisi Leoya güzel bir sürpriz hazırlıyor. Leonun sürprizi bir an önce görmesi için http://www.acmfirat.com/wp-login.php adresine girilen şifreyi bulmasına yardımcı olur musunuz?

Girdi Biçimi:

    Girdi olarak veri tabanı dosyasının yolu verilecektir.

Örnek Girdi:

    Login.db (Dosya ektedir)

Örnek Çıktı:

    Kullanıcıadı:şifre

Cevap:

Soru 3    Muzip Grafiker

Topluluğumuzun yeni logosunu çizdirdiğimiz grafiker bizlere muzip bir şaka hazırlıyor. Logomuzu png formatında bize yolluyor fakat logoyu açamıyoruz. Grafikeri aradığımızda pngnin header ve footerini alfabenin n. karakterine göre değiştirdiğini söylüyor. Yeni logomuzu açmamıza yardımcı olabilir misin?

Girdi Biçimi:

    Resim base64 ile şifrelenmiş halde verilecektir.

Çıktı Biçimi:

    Header ve footerini düzelttikten sonra tekrar şifreleyip çıktı vermeniz gerekmektedir.

Örnek Girdi:

QUJDREVGR0hJSktMTU5PUFFSU+4AAAD0CAMAAABq8zUtA….

Örnek Çıktı:

iVBORw0KGgoAAAANSUhEUgAAAe4AAAD0CAMAAABq8zUtA….

Cevap:

Soru 4    Matematik

Arkadaşımıza profesörü tarafından bir ödev veriliyor. Logaritma, integral, türev ve toplam sembolü hesaplarını yazılım dillerinin hazır kütüphanelerini kullanmadan çözmesi isteniyor. Arkadaşımıza yardımcı olabilir misin?

Girdi Biçimi:

    İşlemler fonksiyonadı(polinom,x değeri) şeklinde olacaktır.

    Toplam sembolü için x değeri başlangıçdeğeri-bitişdeğeri şeklinde olacaktır.

    Polinomlar katsayıxkuvvet şeklinde olacaktır.

    İşlemler düz çizgi (“|”) işareti ile ayrılacaktır.

Çıktı Biçimi:

    Verilen işlemlerin sonucu alt alta yazdırılacaktır.

    Eğer işlem sonucu virgüllü ise tam sayıya çevirmeniz gerekmektedir.

Örnek Girdi:

turev(5×3+3×2+2x,4)|integral(5×3+3×2+2x,3)|logaritma(81,3)|toplam(5×2+1,1-8)

Örnek Çıktı:

266

137

4

1028

Cevap:

Soru cevabı Nihat Çelik’ten alınmıştır.

 

Soru 5    Ressam(!) Elif

Topluluğumuza yeni katılan Elif kendini bir ressam olarak tanıtıyor ve istediğimiz her şeyi çizebileceğini iddia ediyor. Elif’ten ACM yazılı bir resim çizmesini istiyoruz ve bize aşağıdaki resmi gönderiyor. Bizim çok beğenmemize bir üyemiz bunu Elif’in yapmadığını bu resmin bir “ASCII ART” olduğunu ve kendisinin de yapabileceğini söylüyor. Bu üyemize “ASCII ART” algoritmasını oluşturmasında yardımcı olabilir misiniz?

Elif’in gönderdiği resim;

 

Kurallar:

    Font olarak Microsoft Sans Serif kullanılmalıdır ve boyutu 15px olmalıdır. Yazı 11 satırdan oluşmalı sütün sayısı ise uzunluğa göre dinamik olarak değişmelidir.

Örnek Girdi:

ACM

Örnek Çıktı:

    #        ####    #         #
    #      ##    ##  #         #
   # #     #      #  ##       ##
   # #    #        # # #     # #
  #   #   #          # #     # #
  #   #   #          #  #   #  #
  #####   #          #  #   #  #
 #     #  #        # #   # #   #
 #     #   #      #  #   # #   #
#       #  ##    ##  #    #    #
#       #    ####    #    #    #

Cevap:

Soru 6    Yazılımcı Hakkı

Hakkı kendine ait bir yazılım dili oluşturmak istiyor fakat düşük dillerle ilgili bir bilgisi olmadığından dolayı kelimelerden oluşan bir yazılım dili oluşturuyor. Yazdığı dilin derleyicisini yazarken Hakkıya yardımcı olabilir misiniz?

Kurallar:

    Satırlar line feed (“\n”) yerine BOL kelimesi ile ayrılıyor.

    YAZDIR+ kelimesi ile girdiyi yazdırabiliyoruz. Örnek: YAZDIR+ “Artık kendi yazılım dilim var!”

    DEGISKEN+ kelimesi ile yeni bir değişken oluşturup içine verilen veriyi koyabiliyoruz. Örnek: DEGISKEN+ 1 “Değişken 1 artık bu girdiden ibaret”

    DEGISKENYAZDIR kelimesi ile oluşturduğumuz değişkenin içindeki veriyi yazdırabiliyoruz. Örnek: DEGISKENYAZDIR 1

    YAZ_ kelimesi ile verilen girdiyi sonunda boşluk veya line feed(“\n”) olmayacak şekilde yazdırabiliyoruz. Örnek: YAZ_ S

    DONGU kelimesi ile bir döngü oluşturuyoruz ve döngünün kaç kere tekrar edeceğini verdikten sonra yukarıdaki komutlardan herhangi birini kullanabiliyoruz. Örnek: DONGU 5 “BU DİLİ ÖĞRENECEĞİM”

Örnek Girdi 1:

YAZ_ HBOLYAZ_ EBOLYAZ_ EBOLYAZ_ LBOLYAZ_ LBOLYAZ_ OBOLYAZ_  BOLYAZ_ WBOLYAZ_ OBOLYAZ_ RBOLYAZ_ LBOLYAZ_ DBOLYAZ_ !

Örnek Çıktı 1:

HELLO WORLD!

Örnek Girdi 2:

DEGISKEN+ 1 “Yeni Değişken Oluşturduk!!”BOLDEGISKEN+ 2 “Bitane daha değişken oluşturduk”BOLDEGISKENYAZDIR 1

Örnek Çıktı 2:

Yeni Değişken Oluşturduk!!

Cevap:

Soru 7    Stajyer Okan

Bir e-ticaret sitesinin yazılım departmanında stajyer olan Okan’dan müşterilerin posta kodunun doğru olup olmadığını kontrol edecek bir algoritma yazması isteniyor. Okan’a yardımcı olabilir misin?

Kurallar:

    Girdiler POSTAKODU-MAHALLE,İLÇE/İL olarak verilecek. Birden fazla girdi semi-colon(“;”) ile ayrılacaktır. Çıktı olarak sadece TRUE veya FALSE yazılması gerekmektedir.

Örnek Girdi 1:

23050-ÇAYDAÇIRA MAH,MERKEZ/ELAZIĞ

Örnek Çıktı 1:

TRUE

Örnek Girdi 2:

23050-ÇAYDAÇIRA MAH,MERKEZ/ELAZIĞ;35737-85.YIL CUMHURİYET MAH,KEMALPAŞA/İZMİR

Örnek Çıktı 2:

TRUE

TRUE

Örnek Girdi 3:

23050-ÇAYDAÇIRA MAH,MERKEZ/ELAZIĞ;35737-85.YIL CUMHURİYET MAH,KEMALPAŞA/İZMİR;21210-İSTASYON MAH,KARTEPE/KOCAELİ

Örnek Çıktı 3:

TRUE

TRUE

FALSE

Cevap:

Ek dosya: pk_2018_08_31

Soru 8    Otomatacı Engin (İPTAL)

Engin Bilgisayar Mühendisliği 3. Sınıf okuyan başarılı bir öğrencidir. Otomata dersine giren Profesörü ise kendine bir asistan aramaktadır ve verilen FSA(Finite State Automata)’yı ilk çözeni asistan olarak alacaktır. Engin’e bu FSA’yı çözmesinde ve asistan olmasında yardımcı olabilir misin?

Girdi Biçimi:

    Bu soruda girdi bulunmamaktadır.

Soru Çözümü:

    Görseldeki FSA’yı çözecek bir kod yazmanız ve çıktıyı binaryden asciiye çevirerek ekrana yazdırmanız gerekmektedir.

Soru 9    Kriptocu(!) Ayyüce

Ayyüce kriptoya takmış bir yazılımcıdır. Yeni bir kripto algoritması düşünürken aklına bilgisayarındaki num-pad gelir ve num-pad tuşlarından yeni bir kripto algoritması üretir.

Kurallar:

    Alfabede ABCDEFIJKLMOPSTUYZ harfleri bulunmak3tadır. Örnek olarak A harfini isteyen biri 78945613 tuşlarına basmalıdır.

    Tuşlar satır satır soldan başlayarak sağa doğru gitmelidir.

Kripto A HarfiKripto B Harfi

A harfi                                                         B harfi

 Örnek Girdi 1:

78945613 7894123 7945613

Örnek Çıktı 1:

ACM

Örnek Girdi 2:

789456123 78945123 74123 78945613 7945613

Örnek Çıktı 2:

SELAM

Cevap:

Soru 10    Dolambaçlı Baran

Yazılımcı olan Baran dolambaçlı şeyleri ve matrisleri çok sevdiğinden dolayı yeni bir kod yazmak ister. Fazlasıyla boş zamanı olan Baran’da aklındaki cümleyi matrise saat yönünde okunduğunda düzgün bir şekilde okunacak bir algoritma oluşturur. Baran’a bu algoritmayı koda geçirmesinde yardımcı olabilir misiniz?

Girdi Biçimi:

    Matris boyutu dinamik olduğundan dolayı girdi olarak matris boyutu, ardından bir boşluk bırakılarak yazı verilecektir.

Örnek Girdi 1:

3 ACMSTDEBA

Örnek Çıktı 1:

ACMDABEST

Örnek Girdi 2:

5 ACMCOOSGEDHIZLEENIDN4THGI

Örnek Çıktı 2:

ACMCODENIGHT4EHOSGELDINIZ

Görsel Anlatım:

ACMCODENIGHT4EHOSGELDINIZSPIRALCOZDUKBE!!

Cevap:

Soru 11    Ses Mühendisi Baran

Aslında yazılım mühendisliği mezunu olan Baran ses mühendisliğini daha çekici bulduğu için bu alanda çalışmaya başlamıştır. Bir gün film çekiminde aşırı sıkılan Baran bir ses dosyasına nasıl mesaj gizlenir diye merak eder ve bu kodu yazmak ister. Baran’ın oluşturduğu ses dosyalarından saklanan mesajı bulabilir misiniz?

İpucu:

    Mesaj ses dosyasının frekans değerlerine gizlenmiştir.

Örnek Girdi 1:

 selam.wav

Örnek Çıktı 1:

ACM DA BEST

Cevap:

Ek Dosya: 

Soru 12    Sayılarla Kafayı yiyen mühendis

Mühendisimiz sayılarla kafayı yemiş durumda. Girilen sayının n. tam bölenini bulan bir kod yazmak istiyor fakat yazılım uğruna hiçbir şey bilmemektedir. Bu mühendise kodu yazmasına yardımcı olabilir misiniz?

Örnek Girdi 1:

15 3

Örnek Çıktı 1:

5

Örnek Girdi 2:

5656 10

Örnek Çıktı 2:

202

Cevap:

Soru 13    Labirentte sıkışan Emre

Emre maceraları çok seven bir arkadaşımızdır. Bir labirente girmek ve en kısa yoldan çıkmak ister. Emre’ye yardımcı olabilir misiniz?

Kurallar:

    B başlangıç noktasıdır.

    Ç çıkış noktasıdır.

    1 geçebileceğiniz noktadır.

    0 geçemeyeceğiniz noktadır.

Girdi Biçimi:

    Matris aralarında boşluk olmayacak şekilde yan yana verilecektir. Boşluktan sonra matrisin genişliği belirtilecektir.

Çıktı Biçimi:

    Başlangıç noktasından çıkış noktasına gidene kadar kaç tane nokta geçtiğinizi yazdırın.

    Başlangıç ve Çıkış noktalarıda bir nokta olarak sayılmaktadır.

Görsel Anlatım:

0 0 0 1 B 0 1

0 0 0 0 1 0 0

0 0 0 1 1 0 0

0 0 1 1 0 0 0

0 0 Ç 1 0 0 0

Örnek Girdi:

0001B0100001000001100001100000Ç1000 7

Örnek Çıktı:

7

Cevap:

Soru 14    Matematikçi Hasan

Matematiği çok seven Hasan hobisi olan yazılımla matematiği birleştirmek istiyor. Yazmak istediği kod ise verilen n tane sayının aralarına her zaman farklı olacak şekilde dört işlem (+,-,/,*) işaretlerini koyarak bütün çıktıları toplayan bir kod yazmak. Hasan’a yardımcı olabilir misin?

Sınırlar:

    1≤n≤10

Girdi Biçimi:

    Arasında boşluk koyularak n tane sayı verilecektir.

Örnek Girdi 1:

10 11 12 13 14

Örnek Çıktı 2:

297155

Örnek Girdi 2:

1 2 3 4 5 6 7 8 9 10

Örnek Çıktı 2:

8641438

Cevap:

Soru 15    Filolog Ceren

Filolog olarak çalışan Ceren değişik alfabeleri arşivlemek için güzel bir yöntem bulmuştur. Bu yöntem alfabedeki harf ve sayıların girilen düzene göre Unicode değerlerinin N sayısına tam bölünüyor ise bu harf veya sayıları en başa alarak oluşan alfabeyi ekrana yazdırmak.

Girdi Biçimi:

    Alfabe aralarında boşluk olmayacak bir şekilde verilecektir.

    N sayısı alfabeden sonra boşluk bırakılarak verilecektir.

Örnek Girdi:

ab12c3d4e5fghj0k 6

Örnek Çıktı:

f0ab12c3d4e5ghjk

Cevap:

Etkinlik

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir