alpsahin/tubitak-olimpiyat-dataset-v2 huggingface dataset:
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 14

Mantık Kasabası’nda yaşayan insanlar ya doğrucu (her zaman doğruyu söyleyen) ya da yalancı (her zaman yalan söyleyen) olur. Bir gün bu kasabada yaşayan Ayşe, Burak ve Cem arasında şu konuşmalar geçiyor:
• Ayşe: "Burak yalancıdır."
• Burak: "Cem yalancıdır."
• Cem: "Ben ve Burak'tan en az birimiz doğrucudur."
Bu ifadeler ışığında, aşağıdakilerden hangisi doğrudur?

Şıklar:
A) Ayşe ve Cem doğrucudur. | B) Sadece Ayşe doğrucudur. | C) Sadece Burak doğrucudur. | D) Sadece Cem doğrucudur. | E) Burak ve Cem doğrucudur.

Cevap: A Ayşe ve Cem doğrucudur.

Çözüm:
Cem’in yalancı olduğunu varsayalım. O zaman "Ben ve Burak’tan en az birimiz doğrucudur." ifadesi yanlıştır. Yani hem Cem hem Burak yalancıdır. Burak yalancı olduğu için "Cem yalancıdır" ifadesi yanlıştır yani Cem doğrucudur. Bu da baştaki varsayımızla çelişmektedir. Öyleyse Cem doğrucudur.
Cem doğrucudur. Bu yüzden Burak’ın "Cem yalancıdır" ifadesi yanlıştır ve dolayısıyla Burak yalancıdır. Ayşe’nin "Burak yalancıdır" ifadesi doğru olduğu için Ayşe doğrucudur.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 15

Dört arkadaş (Ayşe, Burak, Cem ve Deniz) bir yaz kampına katılıyor. Her biri farklı bir spor dalında uzmanlaşıyor: yüzme, koşu, bisiklet ve tenis. Ayrıca, her biri farklı bir renkte çadırda kalıyor: mavi, kırmızı, yeşil ve sarı. Kimin hangi spor dalında uzmanlaştığına ve hangi renk çadırda kaldığına ilişkin olarak size aşağıdaki bilgiler verilmiştir.
1. Ayşe, mavi çadırda kalmıyor.
2. Yüzme uzmanı, kırmızı çadırda kalıyor.
3. Burak, tenis uzmanı değil.
4. Cem, yeşil çadırda kalıyor.
5. Tenis uzmanı, Ayşe değil.
6. Bisiklet uzmanı, sarı çadırda kalıyor.
7. Deniz, koşu uzmanı değil.
Burak hangi renk çadırda kalmaktadır?

Şıklar:
A) Mavi | B) Kırmızı | C) Yeşil | D) Sarı | E) Burak’ın hangi renk çadırda kaldığı belirlenemez

Cevap: E Burak’ın hangi renk çadırda kaldığı belirlenemez

Çözüm:
Verilen ipuçları Burak’ın hangi renk çadırda kaldığını belirlemek için yeterli değildir. Bunu görmek için ipuçları ile uyumlu aşağıdaki iki çözüme bakmak yeterlidir.
Çözüm 1: Yüzme uzmanı Deniz kırmızı çadırda, koşu uzmanı Burak mavi çadırda, bisiklet uzmanı Ayşe sarı çadırda, tenis uzmanı Cem yeşil çadırda kalmaktadır. İpuçları ile uyumlu bu çözüme göre Burak mavi çadırda kalmaktadır.
Çözüm 2: Yüzme uzmanı Ayşe kırmızı çadırda, koşu uzmanı Cem yeşil çadırda, bisiklet uzmanı Burak sarı çadırda, tenis uzmanı Deniz mavi çadırda kalmaktadır. İpuçları ile uyumlu  bu çözüme göre Burak sarı çadırda kalmaktadır.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 16

[Soru 16-17 için açıklama]
Herbiri bir anne, bir baba ve iki çocuktan oluşan 3 aile (A, B ve C aileleri) beraber bir oyun 
oynayacaklardır. Oyun gereği, üçer kişilik 4 takım kurulacaktır. Her çocuk mutlaka en az bir 
ebeveyni ile aynı takımda olmak zorundadır.

---

A ailesinin babasının olduğu takımda A ailesinden hiç çocuk yoksa, aşağıdakilerden hangisi doğrudur?

Şıklar:
A) B ve C ailelerinden birisinin iki çocuğu da aynı takımdadır. | B) B ve C ailelerinden birer çocuk aynı takımdadır. | C) A ailesinin annesi ile B veya C ailelerinden birisinin annesi aynı takımdadır. | D) Bu kuralları sağlayan 16 farklı gruplama yapılabilir. | E) Diğer şıkların tümü yanlıştır.

Cevap: C A ailesinin annesi ile B veya C ailelerinden birisinin annesi aynı takımdadır.

Çözüm:
A1 baba, A2 anne, A3 ve A4 çocuklar olacak şekilde kodlayalım. Hiçbir aileden hem anne hem de baba aynı grupta olamaz. Aksi takdirde bu ailenin bir çocuğu ebeveynlerinden farklı bir grupta olmak zorunda kalır. A1 in grubunda B1, B2, C1, C2 den birisi olmak zorundadır, bu kişiye X diyelim. X’in kim olduğu 4 farklı şekilde belirlenebilir. Bundan sonra iki durum söz konusudur.
1. Bu gruptaki 3. kişi de B1, B2, C1, C2 arasından gelir, buna da Y diyelim. Ancak bu durumda X ve Y farklı aileler olmak zorundadır. Bu da 4x2=8 ihtimal yapar. Ancak tekrarlardan dolayı 8/2=4 ihtimale düşer.
2. Gruptaki 3. kişi X in çocuklarından biridir. Bu da 4x2 = 8 ihtimal yapar.
Birinci durumda, kalan grupların her biri bir ebeveyn ve onun çocuklarından oluşmak zorundadır. İkinci durumda ise, A2 kendi çocuklarıyla bir grup oluşturur, X in diğer ebeveyni ve diğer çocuğu Y ailesinden bir ebeveynle bir grup oluşturur ki burada 2 ihtimal vardır. Ve son grup da Y nin diğer ebevyni ve 2 çocuğundan oluşur.
Tüm ihtimaller değerlendirildiğinde (C) şıkkının doğru olduğu görülür.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 17

[Soru 16-17 için açıklama]
Herbiri bir anne, bir baba ve iki çocuktan oluşan 3 aile (A, B ve C aileleri) beraber bir oyun 
oynayacaklardır. Oyun gereği, üçer kişilik 4 takım kurulacaktır. Her çocuk mutlaka en az bir 
ebeveyni ile aynı takımda olmak zorundadır.

---

A ailesinin babası iki çocuğuyla aynı gruptaysa diğer gruplar kaç farklı şekilde belirlenebilir?

Şıklar:
A) 8 | B) 12 | C) 16 | D) 20 | E) 24

Cevap: D 20

Çözüm:
A1 iki çocuğuyla aynı grupta ise, bu durumda A2 için iki durum vardır.
1. B ve C ailelerinden birer ebeveynle aynı gruptadır, ki bu 2x2 = 4 ihtimal eder. Bu durumda diğer iki grup B ve C ailelerindeki diğer ebevenler ve onların çocukları olacak şekilde oluşmak zorundadır.
2. A2, B veya C ailelerinden bir ebeveyn ve onun bir çocuğu ile aynı gruptadır. Bu 4x2 = 8 ihtimal eder. Diyelim ki bu X ailesinden bir ebeveyn ve çocuğu olsun. X ailesindeki diğer ebeveyn ve diğer çocuk artık bir grupta olmak zorundadır. Bu 3. gruptaki 3. kişi de Y ailesinden bir ebeveyn olmak zorundadır. Bu da iki ihtimal eder. Yani toplamda 8x2=16 ihtimal söz konusu olur.
Yani genel toplamda 20 ihtimal söz konusudur.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 18

1- Hava güzel olduğunda bisiklete binerim.
2- Bugün bisiklete binmedim, ama film izledim.
3- Hava güzel değilse ve film izlediysem, o gün pizza yerim.
4- Bugün ya pizza yemedim veya lahmacun yemedim.
Yukarıdaki dört önermenin de doğru olduğu bilindiğine göre, aşağıdakilerden hangisi çıkarılamaz?

Şıklar:
A) Bugün hava güzel değildi. | B) Film izledim ve lahmacun yemedim. | C) Lahmacun yediysem film izlemişimdir. | D) Hava güzeldir veya film izlemişimdir. | E) Bisiklete binmediysem lahmacun yemişimdir.

Cevap: E Bisiklete binmediysem lahmacun yemişimdir.

Çözüm:
Aşağıdaki önermeleri tanımlayalım:
p: hava güzel, q: bisiklete bindim, r: film izledim, s: pizza yedim, t: lahmacun yedim
Verilen doğrular bu durumda şu şekilde ifade edilebilir:
1- p ise q,
2- q değil ve r,
3- p değil ve r ise s,
4- s değil veya t değil.
Bunlara bağlı olarak
5- q değil ise p değil , 1’in kontrapozisyonu
6- q değil , 2’den direk elde edilir
7- p değil , 5 ve 6 ya Modus Ponens uygulanır
8- r , 2’den direk elde edilir
9- p değil ve r , 7 ve 8 den
10- s , 3 ve 9 dan Modus Ponens ile
11- t değil , 4 ve 10 dan elde edilir.
Şıklara baktığımızda,
A) “p değil” , 7 den çıkarılabilir
B) “r ve t değil” , 8 ve 11 den çıkarılabilir
C) “t ise r” , t yanlış olduğundan her zaman doğrudur
D) “p veya r” , 8 den dolayı doğrudur.
E) “q değil ise t” , yanlıştır çıkarılamaz.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 19

10 erkek ve 5 kadından oluşan bir mecliste 5 kişilik bir komisyon oluşturulacaktır. Komisyondaki kadın üyelerin sayısı erkek üyelerden fazla olmak zorunda ve en az bir kadın ve bir erkek olmak zorunda ise, bu komisyon kaç farklı şekilde oluşturulabilir?

Şıklar:
A) 525 | B) 500 | C) 475 | D) 450 | E) 425

Cevap: B 500

Çözüm:
\[ (5,4)(10,1)\div(5,3)(10,2)=500 \]
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 20

Bir torbada 9 adet özdeş görünümlü bilye bulunmaktadır. Bu bilyelerden 7 tanesi ağırlık olarak da özdeş olsa da, diğer 2 bilye birbirine özdeş ağırlıkta ama diğer 7 tanesinden daha hafiftir. Elinde yalnızca çift kefeli bir terazi bulunan bir öğrenci daha hafif olan iki bilyeyi en az tartımda bulmak istiyor. Öğrencinin olabilecek en doğru algoritmayla bu bilyeleri bulduğunu kabul edersek, en kötü durumda kaç tartım yapmış olabilir.

Şıklar:
A) 2 | B) 3 | C) 4 | D) 5 | E) 6

Cevap: C 4

Çözüm:
Bilyeleri üçerli 3 gruba ayıralım. Bu gruplara A,B,C isimlerini verelim. Bilyeler de A1,A2,A3 gibi isimlendirilmiş olsun.
– Tartım 1: A ve B grupları tartılır. İki ihtimal vardır:
 A ve B eşit gelir.
Tartım 2: B ve C tartılır.
· B ve C eşit gelemez, aksi takdirde A, B ve C nin hepsi eşit olur.
· B hafif gelir. Bu durumda A ve B de birer hafif top vardır.
Tartım 3: A1 ve A2 tartılır. Biri hafif gelirse hafif top bulunmuş olur. Eşit gelirlerse A3 hafif olarak bulunmuş olur.
Tartım 4: B1 ve B2 tartılır. Biri hafif gelirse hafif top bulunmuș olur. Eşit gelirlerse B3 hafif olarak bulunmuș olur.
· C hafif gelir. Yukarıdakine benzer şekilde devam edilir.
 A veya B den birisi hafif gelir. A’nın hafif geldiğini varsayalım. B’nin hafif geldiği durum özdeştir.
Tartım 2: B ve C tartılır.
· B ve C eşit gelir. Bu durumda hafif iki top A’dadır.
Tartım 3: A1 ve A2 tartılır. Eşitlerse ikisi de hafiftir. Birisi hafif gelirse o top ve A3 hafiftir.
· C hafif gelir.
Tartım 3: A1 ve A2 tartılır. A1 ve A2 tartılır. Biri hafif gelirse hafif top bulunmuş olur. Eşit gelirlerse A3 hafif olarak bulunmuş olur.
Tartım 4: C1 ve C2 tartılır. Biri hafif gelirse hafif top bulunmuştur. Eşit gelirlerse C3 hafif olarak bulunmuştur.
· A, B’den hafif olduğundan B, C’den hafif olamaz.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 21

İki çocuk belirli bir adım mesafesinde duruyor ve sırayla birbirlerine doğru adım atıyorlar. Sırası gelen çocuk diğerine doğru 1, 2 veya 3 adım atıyor. Son adımı atıp aradaki mesafeyi sıfırlayan çocuk oyunu kazanıyor. Her iki çocuğun da her zaman olabilecek en iyi hamleleri yaptıkları kabul edilirse, aşağıdaki mesafelerden hangisinde oyuna başlarlarsa oyuna başlayan çocuk her zaman oyunu kaybeder?

Şıklar:
A) 64 | B) 73 | C) 82 | D) 90 | E) 111

Cevap: A 64

Çözüm:
Tersten yaklaşırsak, aradaki mesafe 1,2 veya 3 adım olduğunda sıradaki oyuncu oyunu kazanabilir. 4 adım olduğunda ise yapacağı hamle ile mesafeyi 1,2 veya 3’e düşürmek zorundadır ve bu da rakibini oyunu kazanacağı bir pozisyona sokmaya mecbur olduğu anlamına gelir. Yani 4 birim mesafe sıradaki oyuncunun kaybedeceği anlamına gelir. 5 birim mesafede sırası gelen oyuncu 1 adım atarak rakibini 4 birim mesafe pozisyonuna, yani kaybetme pozisyonuna sokabilir. Benzer şekilde 6 birimde sırası gelen oyuncu 2 adım, 7 birimde sırası gelen oyuncu ise 3 adım atarak rakibini kaybetme pozisyonuna sokar. Yani 5,6 ve 7 adım kazanma pozisyonlarıdır. Benzer şekilde 8 adım ise kaybetme pozisyonudur. Görüldüğü üzere her 4 adımda bir kaybetme pozisyonu gelir, diğer durumlar ise kazanma pozisyonlarıdır. Dolayısıyla 4ün katları sıradaki oyuncu için kaybetme pozisyonudur. Şıkların içinde 4ün katı olan 64 sıradaki oyuncu için yani oyuna başlayan oyuncu için kaybetme pozisyonudur ve oyunu her zaman 2. oyuncu kazanır.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 22

Bir düzlemin üzerine çizilen, herhangi ikisi paralel olmayan ve herhangi üçü aynı noktadan geçmeyen 5 doğru düzlemi kaç bölgeye ayırır?

Şıklar:
A) 10 | B) 25 | C) 15 | D) 16 | E) 12

Cevap: D 16

Çözüm:
Verilen kısıtlar gereği her doğru diğer doğruların tümünü kesmek durumundadır. Tek tek doğruları düzleme eklersek,

Boş düzlem tek bölgedir.

1. doğru düzlemi iki bölgeye ayırır
2. doğru bu iki bölgeden de geçer ve düzlemi 4 bölgeye ayırır
3. doğru var olan 2 doğruyu keserken 3 bölgeden geçer ve düzlemi 4+3=7 bölgeye ayırır.
4. doğru var olan 3 doğruyu keserken 4 bölgeden geçer ve düzlemi 7+4=11 bölgeye ayırır.
5. doğru var olan 4 doğruyu keserken 5 bölgeden geçer ve düzlemi 11+5=16 bölgeye ayırır.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 23

Aşağıdaki algoritma verilen A ve B siminde iki adet ikili diziyi kullanarak ekrana "Yukarı" ve "Sağ" komutlarını yazdırmaktadır. Bu komutlar ise yazdırıldıkları sırada bir robota aktarılmakta ve robotun bir odada engellere çarpmadan hedefe gitmesini sağlamaktadır.
1. Mevcut dizi olarak A dizisini belirle
2. Mevcut dizide okunacak değer olduğu sürece
2.1. Mevcut dizide sıradaki ikili değeri oku
2.2. Okunan değer 1 ise
2.2.1. Mevcut dizi A ise ekrana "Yukarı" yazdır
2.2.2. Mevcut dizi B ise ekrana "Sağ" yazdır
2.3. Okunan değer 0 ise
2.3.1. Mevcut dizi A ise mevcut diziyi B yap
2.3.2. Mevcut dizi B ise mevcut diziyi A yap
Robotun içinde bulunduğu odanın şeması aşağıda verilmiştir. Robot R harfi ile, engeller E harfi ile, hedef ise H harfi ile gösterilmiştir:
<table><tr><td></td><td></td><td>E</td><td></td><td>H</td></tr><tr><td>E</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>E</td><td></td></tr><tr><td></td><td>E</td><td></td><td></td><td></td></tr><tr><td>R</td><td></td><td></td><td>E</td><td></td></tr></table>
Aşağıda verilen A ve B dizilerinden hangisi bu odada robotun hedefe ulaşmasını sağlayacaktır?

Şıklar:
A) A={1, 1, 0, 0, 1, 1, 0} B={0, 1, 1, 0, 1, 1} | B) A={0, 0, 1, 1, 1, 0, 0, 1, 0} B={1, 0, 1, 0, 0, 1, 0, 1} | C) A={1, 1, 0, 1, 0, 1} B={1, 1, 0, 1, 1} | D) A={0, 1, 1, 1, 0, 1, 0} B={1, 1, 0, 1, 0} | E) A={1, 0, 1, 0, 1, 0, 0, 1} B={0, 1, 0, 1, 1, 1, 0}

Cevap: B A={0, 0, 1, 1, 1, 0, 0, 1, 0} B={1, 0, 1, 0, 0, 1, 0, 1}

Çözüm:
Y: Yukarı, S: Sağ, X: Değiştir
A) Y, Y, X, X, X, S, S, X, Y, Y -> Engele çarptı
B) X, S, X, X, S, X, Y, Y, Y, X, X, X, S, X, Y, X, S -> Hedefe ulaştı
C) Y, Y, X, S, S, X, Y, X, S -> Hedefe ulaşamadan durdu
D) X, S, S, X, Y, Y, Y, X, S, X, Y, X -> Hedefe ulaşamadan durdu
E) Y, X, X, Y, X, S, X, Y, X, S, S, S, X, X -> Hedefe ulaşamadan durdu
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 24

ALGORITMA GizemliIslem(Dizi A, tamsayı n, tamsayı k)
YeniDizi ← boş bir dizi
YeniBoyut ← 0
for i ← 0 to n-1 do
sayac ← 0
for j ← 0 to YeniBoyut-1 do
if A[i] == YeniDizi[j] then
sayac ← sayac + 1
end if
end for
if sayac < k then
YeniDizi[YeniBoyut] ← A[i]
YeniBoyut ← YeniBoyut + 1
end if
end for
return YeniDizi
Yukarıdaki GizemliIslem algoritması, A = [1, 2, 2, 1, 3, 2] dizisi, n=6 ve k = 2 değeri ile çağrıldığında, dönen (return edilen) YeniDizi'nin içeriği ne olur? (← atama işlemidir.)

Şıklar:
A) [1, 2, 3] | B) [1, 2, 3, 2] | C) [2, 1, 3] | D) [1, 2, 2, 1, 3] | E) Hiçbiri

Cevap: D [1, 2, 2, 1, 3]

Çözüm:
Algoritma, girdi dizisi A'yi tarayarak YeniDizi adında yeni bir dizi oluşturur. Bir elemanın YeniDizi'ye eklenip eklenmeyeceği, o elemanın YeniDizi'de kaç kez tekrar ettiğine bağlıdır. Bir eleman, YeniDizi'de k'dan daha az sayıda bulunuyorsa, YeniDizi'ye eklenir. k=2 olduğu için, her elemandan en fazla 1 tane YeniDizi'de yer alabilir (ilk tekrar hariç).
Adım adım A = [1, 2, 2, 1, 3, 2]
ve k = 2 için algoritmayı izleyelim:
1. i = ∅, A[∅] = 1. YeniDizi = []. sayac = ∅ < 2. YeniDizi = [1], YeniBoyut = 1.
2. i = 1, A[1] = 2. YeniDizi = [1]. sayac = ∅ < 2. YeniDizi = [1, 2], YeniBoyut = 2.
2. i = 1, A[1] = 2. YeniDizi[1]. sayac = ∅ < 2. YeniDizi[1], YeniBoyut = 2.
3. i = 2, A[2] = 2. YeniDizi = [1, 2]. sayac = 1 < 2. YeniDizi = [1, 2, 2], YeniBoyut = 3.
4. i = 3, A[3] = 1. YeniDizi = [1, 2, 2]. sayac = 1 < 2. YeniDizi = [2, 2, 1], YeniBoyut = 4.
5. i = 4, A[4] = 3. YeniDizi = [1, 2, 2, 1]. sayac = 0 < 2. YeniDizi = [1, 2, 2, 1, 3], YeniBoyut = 5.
6. i = 5, A[5] = 2. YeniDizi = [1, 2, 2, 1 , 3]. sayac = 2 < 2 (yanlış). YeniDizi değişmez.
Sonuç olarak, döndürülen YeniDizi [1, 2, 2, 1, 3] olur.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 25

[Soru 25-26 için açıklama]
Bir algoritma, girdi olarak pozitif tam sayılardan oluşan bir dizi ve bir eşik değeri T alır. 
Algoritma, dizideki her bir başlangıç noktası için, bu noktadan başlayarak oluşturulabilecek 
tüm ardışık alt dizilerin toplamlarını hesaplar. Eşik değerini aşan ilk alt dizinin başlangıç ve 
bitiş indislerini bir çift olarak saklar. Her başlangıç noktası için en fazla bir indis çifti saklanır. 
Algoritma, tüm olası başlangıç noktalarını denedikten sonra sakladığı indis çiftlerinin listesini 
döner. 

---

Algoritma A = [1, 4, 2, 3, 5] dizisi ve T = 6 eşik değeri ile çalıştırıldığında, algoritmanın döneceği kaç indis çifti vardır?

Şıklar:
A) 1 | B) 2 | C) 3 | D) 4 | E) 5

Cevap: D 4

Çözüm:
1. **Başlangıç 0 (1):*- [1, 4, 2] (toplam 7 > 6). İndisler (0, 2).
2. **Başlangıç 1 (4):*- [4, 2, 3] (toplam 9 > 6). İndisler (1, 3).
3. **Başlangıç 2 (2):*- [2, 3, 5] (toplam 10 > 6). İndisler (2, 4).
4. **Başlangıç 3 (3):*- [3, 5] (toplam 8 > 6). İndisler (3, 4).
5. **Başlangıç 4 (5):*- Yok.
Döndürülen liste: [ (0, 2), (1, 3), (2, 4), (3, 4) ].
Yani toplam 4 tane çift vardır.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 26

[Soru 25-26 için açıklama]
Bir algoritma, girdi olarak pozitif tam sayılardan oluşan bir dizi ve bir eşik değeri T alır. 
Algoritma, dizideki her bir başlangıç noktası için, bu noktadan başlayarak oluşturulabilecek 
tüm ardışık alt dizilerin toplamlarını hesaplar. Eşik değerini aşan ilk alt dizinin başlangıç ve 
bitiş indislerini bir çift olarak saklar. Her başlangıç noktası için en fazla bir indis çifti saklanır. 
Algoritma, tüm olası başlangıç noktalarını denedikten sonra sakladığı indis çiftlerinin listesini 
döner. 

---

Algoritma, A = [2, 1, 5, 1, 3, 1] dizisi ve T = 10 eşik değeri ile çalıştırıldığında, algoritmanın döneceği (return edeceği) kaç indis çifti vardır?

Şıklar:
A) 1 | B) 2 | C) 3 | D) 4 | E) 5

Cevap: B 2

Çözüm:
1. **Başlangıç İndisi 0 (Sayı 2):**
- [2] (toplam 2) < 10
- [2, 1] (toplam 3) < 10
- [2, 1, 5] (toplam 8) < 10
- [2, 1, 5, 1] (toplam 9) < 10
- [2, 1, 5, 1, 3] (toplam 12) > 10. İlk aşan bulundu. İndis çifti: (θ, 4) saklanır.
2. **Başlangıç İndisi 1 (Sayı 1):**
- [1] (toplam 1) < 10
- [1, 5] (toplam 6) < 10
- [1, 5, 1] (toplam 7) < 10
- [1, 5, 1, 3] (toplam 10) = 10 (aşmıyor)
- [1, 5, 1, 3, 1] (toplam 11) > 10. İlk aşan bulundu. İndis çift: (1, 5) saklanır.
3. **Başlangıç İndisi 2 (Sayı 5):**
- [5] (toplam 5) < 10
- [5, 1] (toplam 6) < 10
- [5, 1, 3] (toplam 9) < 10
- [5, 1, 3, 1] (toplam 10) = 10 (aşmıyor)
4. **Başlangıç İndisi 3 (Sayı 1):**
- [1] (toplam 1) < 100
- [1, 3] (toplam 4) < 100
- [1, 3, 1] (toplam 5) < 100
A) 1
B) 2
C) 3
D) 4
E) 5
1. **Başlangıç İndisi 0 (Sayı 2):**
5. **Başlangıç İndisi 4 (Sayı 3):**
- [3] (toplam 3) < 10
- [3, 1] (toplam 4) < 10
6. **Başlangıç İndisi 5 (Sayı 1):**
- [1] (toplam 1) < 10
Saklanan indis çiftleri listesi: [(0, 4), (1, 5)].
Bu durumda, algoritma toplamda 2 indis çifti döndürür.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 27

Bir yapıda, 1’den n’e kadar etiketlenmiş n farklı konum (odalar, koridorlar, balkonlar vb.) vardır. Ayrıca, k tane (a, b) çifti verilmiştir ve bir çift, a konumunun b konumuna doğrudan kapı ile bağlı olduğunu ve anahtara sahip olduğunuzu gösterir. Giriş konumu 1, balkon ise n olarak etiketlenmiştir. Girişten balkona gidip gidemeyeceğinizi bulan bir kod yazarken aşağıdakilerden hangisi dikkat etmemiz gereken (anlamlı) bir husus değildir?

Şıklar:
A) Konumlar arası bağlantılar kaydedilirken uygun bir veri yapısı kullanmak. | B) Bağlı konumlar için hem (a, b) hem (b, a) olacak şekilde çift yönlü bağlantılar kaydetmek. C) (a, b) çiftlerini a<b olacak şekilde sıralayıp, 1 ve n konumlarının ardışık olup olmadığına bakmak. | D) Ziyaret edilen konumları tutarak aynı konuma tekrar girip sonsuz döngüye düşmeyi engellemek. | E) Kodun, balkonu (konum n) bulana kadar her yeni komşuyu sırayla incelemesini sağlamak.

Cevap: C (a, b) çiftlerini a<b olacak şekilde sıralayıp, 1 ve n konumlarının ardışık olup olmadığına bakmak.

Çözüm:
Bu beş maddeden dört tanesi (A, B, D, E) gerçekten girişten balkona varış algoritmasında dikkat edilmesi gereken veya işe yarayan hususlardır. C seçeneğinde sadece çiftleri sıralayıp 1 ve n konumlarının yanyana oluşuna bakmak, çok adımlı (dolaylı) bağlantıları tamamen göz ardı ettiği için soruda belirtilen “gidip gidememe” durumunu güvenilir biçimde tespit etmeyecektir. Bu nedenle dikkat edilmesi gereken (anlamlı) bir husus değildir.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 28

Aşağıdaki gürültülü veriyi (sinyali) temizlemek için algoritmik bir yöntem önerilmiştir.
[GÖRSEL]
x gürültülü veriyi içeren dizi, y gürültü temizlenmiş veriyi içeren diziyi oluşturmak üzere:
I. Her bir i indeksi için, \(y_t = \arctan(a(x_{i-k}, ..., x_{i-1}, x_i, x_{i+1}, ..., x_{i+k}))\) (\(k = 5\))
II. y dizisinde, ardışık ve birbirine yakın değerler belirli bir eşik değeri altında gruplanır
III. Her grubun gürültülü sinyaldeki değerlerinin ortalaması alınarak, grubun tüm elemanları bu ortalama ile değiştirilir.
Not: Bir dizideki elemanlar sıralandığında ortadaki değer ortanca (medyan) değer olur.
Gürültü temizleme yöntemi çalıştıktan sonra sonuç bu şekilde oluşmalıdır.
[GÖRSEL]
Verilen bu gürültü temizleme yöntemi için aşağıdakilerden hangisi söylenemez?

Şıklar:
A) I. adımda \(x_{i-k}\) veya \(x_{i+k}\) dizi dışında kaldığı durumda, dizinin başındaki ve sonundaki değerler kullanılır böylece dizi dışında bir indekse erişim yapılma hatası oluşmaz. | B) \(k = 5\) için ortanca değer 11 eleman üzerinden hesaplanır. | C) II. adımda eşik değeri y dizinde bir gruptan diğer gruba geçişteki farktan düşük olacak şekilde seçilir. | D) II. adımda ardışık ve benzer ortanca değerleri seçilen eşik altında ise gruplanarak, sinyalin doğal grup sınırları belirlenmiş olur. | E) III. adım, her bir grup için orijinal sinyaldan ortalama almayı gerektirdiğinden, bu önerilen yöntem içerisindeki en yavaş adımdır.

Cevap: E 

Çözüm:
III. adımda gruplar için ortalama almak gerekir, ancak bu işlem zaman açısından basittir (doğrusal karmaşıklık). Yöntemin en yavaş kısmı, I. adım olan medyan filtrelemedir, çünkü pencere içerisindeki ortanca değer (sıralama, quick-select) bulma işlemi algoritmadaki en yavaş adımdır.
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 29

[21-30] Sorular İçin Açıklama
● Soruları C programlama dili çerçevesinde cevaplayınız.
● Derleyici olarak gcc kullanıldığını varsayınız.
● Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini
varsayınız.

---
```c

Şıklar:


Çözüm:
Bilgisayar Olimpiyatı 2025, 1. Aşama, Soru 30

Huffman kodlama, veri sıkıştırma amacıyla kullanılan kayıpsız bir kodlama yöntemidir ve yöntemin temel adımları şunlardır:
 Kodlanacak her sembolün olasılığı hesaplanır. Sembolün olasılığı veride o sembolün kaç defa tekrar ettiği değerinin toplam veri büyüklüğüne bölünmesi olarak düşünülebilir.
 Tüm semboller frekanslarına göre sıralı olacak şekide bir veri yapısı içine yerleştirilir.
 Ağaç Oluştur:
o En küçük iki frekanslı düğüm kuyruktan çıkarılır.
o Bu iki düğümü çocuk olarak alan, toplam frekanslı yeni bir düğüm oluşturulur.
o Yeni düğüm iki çocuğun toplam olasılığı ile tekrar kuyruğa eklenir.
o Bu işlem tek bir düğüm kalana kadar tekrar edilir (en son toplam olasılık 1 olur).
[GÖRSEL]
 Kod Atama:
o Oluşan ikili ağaç üzerinden, her yaprak düğüme (sembole) bir bit dizisi atanır.
o Bu atama sırasında ağaçta sol (üst) dal için 0, sağ (alt) dal için 1 eklenir.
 Kodlama:
o Orijinal veriyi, her sembol yerine karşılık gelen Huffman koduyla değiştirerek sıkıştırılmış veri elde edilir.
Aşağıdakilerden hangisi Huffman kodlama algoritmasının temel adımlarından biri değildir?

Şıklar:
A) Sembollerin frekanslarını belirlemek. | B) Frekanslara göre ikili bir ağaç oluşturmak. | C) Kod uzunluğunu azaltmak için ağacı derinlik öncelikli gezmek. | D) En küçük frekanslı iki düğümü birleştirerek yeni düğüm oluşturmak. | E) Ağaç üzerinde gezinerek her sembole bit dizisi atamak.

Cevap: C Kod uzunluğunu azaltmak için ağacı derinlik öncelikli gezmek.

Çözüm:
Huffman algoritmasında ağaç oluşturulduktan sonra kodların ağaç üzerinden hangi sıralamayla gezinerek alındığı önemli değildir. Buradaki önemli olan, kodların ağacın yapısına göre atanmasıdır. Huffman kodlamada kod uzunluğu zaten inşa edilen ağaç yapısı sayesinde azaltılır.