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

[21-30] Sorular iç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
Sorudaki i+=k; j-=i; k/=j; ifadeleri aşağıdaki atamalara eşittir.
int main()
{
    int j = 15;
    int i;
    for (i = 5; i < 11; i+=3)
    {
        j-=6;
        i+=3;
    }
    while (j>i);
    printf("%d", j);
    return 0;
}
```

Yukarıdaki program için hangisi doğrudur?

Şıklar:
A) Ekrana 3 yazar. | B) Ekrana 8 yazar. | C) Ekrana 9 yazar.

Cevap: A Ekrana 3 yazar.

Çözüm:
Soruda bir for döngüsü içinde do-while döngüsü vardır. for döngüsü başında i'nin değeri 5 olup her bir iterasyonda 3 artmaktadır. do-while döngüsünde ise her bir iterasyonda j'nin değeri 6 azalmakta, i ise 3 artmaktadır.
Bilgisayar Olimpiyatı 2018, 1. Aşama, Soru 25

[21-30] Sorular iç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
int main() {
    int i = 10+2*4/3;
    printf("%d", i);
    return 0;
}
```

Yukarıdaki programın çıktısı aşağıdakilerden hangisidir?

Şıklar:
A) 1 | B) 6 | C) 12 | D) 13 | E) 16

Cevap: C 12

Çözüm:
Çarpma ve bölme işleminin toplama ve çıkarma işlemine göre önceliği vardır. Çarpma ve bölme aynı matematiksel değerlendirme içinde olduğunda işlem önceliği soldan sağa doğrudur. Yani önce 2 ile 4 çarpılır, sonuç tam sayı bölümü olarak 3'e bölünür. 8/3=2'dir. 2 + 10 = 12.
Bilgisayar Olimpiyatı 2018, 1. Aşama, Soru 26

[21-30] Sorular iç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
int foo(int *i, int j)
{
    int i, j;
    for (i = 1; i < 5; i+=2) {
        for (j = 1; j < 3; j+= 2) {
            printf("*");
            if (j % 2 == 0) {
                break;
            } else {
                continue;
            }
            printf("*");
        }
    }
    return 0;
}
```

Yukarıdaki program ekrana kaç tane * basar?

Şıklar:
A) 4 | B) 5 | C) 6 | D) 7 | E) Hiçbiri

Cevap: A 4

Çözüm:
break ifadesi en içteki döngüden çıkar ve varsa onun dışındaki döngüye gelir. continue ifadesi ise içinde bulunan döngünün başına gelir. En içteki for döngüsünde j'nin değeri çift olduğunda break, tek olduğunda continue çalışır. Buna göre toplamda 4 tane yıldız ekrana basılmaktadır.
Bilgisayar Olimpiyatı 2018, 1. Aşama, Soru 27

[21-30] Sorular iç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
int main()
{
int i = 5, j = 6, k = 7, n = 3;
printf("%d", i + j * k - k % n);
return 0;
}
```

Yukarıdaki program için aşağıdakilerden hangisi doğrudur?

Şıklar:
A) Çıktı olarak 1 üretir. | B) Çıktı olarak 2 üretir. | C) Çıktı olarak 45 üretir. | D) Çıktı olarak 46 üretir. | E) Hiçbiri

Cevap: D Çıktı olarak 46 üretir.

Çözüm:
İkili işlemler olan çarpma, bölme ve mod alma (%) işlemlerinin toplama ve çıkarmaya göre öncelikleri vardır. Bu işlemler aynı ifade içinde yer aldıklarında işlemler soldan sağa doğru yapılır. Yani önce j ile k çarpılacak, sonra k mod n alınacak ve daha sonra kalan toplama ve çıkarma işlemleri yapılacaktır.
\[5 + 42 - 1 = 46.\]
Bilgisayar Olimpiyatı 2018, 1. Aşama, Soru 28

[21-30] Sorular iç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
int main()
{
int i;
for (i = 3; i < 21; i++)
i+=2;
printf("%d", i);
return 0;
}
```

Yukarıdaki programın çıktısı aşağıdakilerden hangisidir?

Şıklar:
A) 18 | B) 19 | C) 20 | D) 21 | E) 22

Cevap: 21 D

Çözüm:
for içinde i'nin değeri 1 artmakta, gövdede ise i 2 artmaktadır. Yani her bir iterasyonda i'nin değeri 3 artar. i sırasıyla 3,6,9,12,15,18 ve 21 olur. 21 olduğunda artık i < 21 şartı sağlanmaz ve döngü biter.
Bilgisayar Olimpiyatı 2018, 1. Aşama, Soru 29

[21-30] Sorular iç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
int main()
{
    char *s = "bilgisayar";
    switch (*s + 1)
    {
        case 'b':
            printf("b");
            break;
        case 'c':
            printf("c");
            break;
        case 'i':
            printf("i");
            break;
        default:
            printf("diger");
            break;
    }
    return 0;
}
```

Yukarıdaki programın çıktısı aşağıdakilerden hangisidir?

Şıklar:
A) b | B) c | C) i | D) diger | E) Derleme/çalışma zamanı hatası vereceğinden çıktı oluşmaz.

Cevap: B c

Çözüm:
s bir karakter işaretçisidir (pointer) ve ilk satırda b karakterini gösterir. *s+1 ifadesi s'nin değerine 1 ekler, yani ASCII tablosunda b'den sonraki karakterin değerini (c) alır.
Bilgisayar Olimpiyatı 2018, 1. Aşama, Soru 30

[21-30] Sorular iç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
int main() {
    int i = 0;
    while(i+1 <= 32)
    {
        printf("\*");
        i+=4;
    }
    return 0;
}
```

Yukarıdaki program ekrana kaç tane yıldız basar?

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

Cevap: B 8

Çözüm:
while içinde i, 4 artar ve şart olarak i'nin 1 fazlası <=32 verilmiştir. Buna göre, while döngüsü, i=0,4,8,12,16,20,24 ve 28 için bir tane yıldız basar. i=32 olduğunda döngü sonlanır. Toplam yıldız sayısı 8.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 1

## [1-2 soruları için açıklama]
Aşağıdaki soruları şekilde göründüğü gibi bir çemberin etrafında eşit aralıklarla yerleştirilmiş 8 nokta için cevaplayın. İki üçgenin birbirine benzemesi, döndürme ve ayna görüntüsünü alma işlemleri kullanarak birbirleriyle aynı yapılabilmesidir.
[GÖRSEL]

---

Köşeleri verilen noktalardan oluşan kaç farklı üçgen vardır (benzer olup olmaması önemli değil)?

Şıklar:
A) 512 | B) 336 | C) 72 | D) 64 | E) 56

Cevap: E 56

Çözüm:
8 noktadan seçilen her 3 farklı nokta bir üçgene denk gelmektedir. Dolayısıyla 8'in 3'lü kombinasyonu, yani  \( (8\ 3)=8*7*6/(3*2)=56 \)  farklı üçgen vardır.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 2

## [1-2 soruları için açıklama]
Aşağıdaki soruları şekilde göründüğü gibi bir çemberin etrafında eşit aralıklarla yerleştirilmiş 8 nokta için cevaplayın. İki üçgenin birbirine benzemesi, döndürme ve ayna görüntüsünü alma işlemleri kullanarak birbirleriyle aynı yapılabilmesidir.
[GÖRSEL]

---

Köşeleri verilen noktalardan oluşan kac farklı benzer olmayan üçgen vardır?

Şıklar:
A) 5 | B) 6 | C) 7 | D) 8 | E) 9

Cevap: A 5

Çözüm:
İki üçgenin kenar uzunlukları sıralandıktan sonra aynıysa bu üçgenler benzerdir. Kenar uzunlukları, iki köşe arasındaki yay sayısıyla birebir bağıntılı olduğu için, soru 8 topun 3 kutuya kaç farklı şekilde (azalmamak kaydıyla) konulabileceğiyle aynıdır. Bunun da cevabı 5’tir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 3

Şekildeki kutularda A’den başlayıp I’da biten, her seferinde sadece ortak kenarı olan bir kutuya giden (örn. E’den G’ye gidebilir ama E’den H’ye gidemez) ve geçtiği kutulardan bir daha geçmeyen kaç farklı yol vardır?
[GÖRSEL]

Şıklar:
A) 32 | B) 64 | C) 16 | D) 20 | E) 30

Cevap: A 32

Çözüm:
A’dan D’ye 4 yol vardır. D’den E’ye oradan da I’ya giden toplam 4 yol vardır. D’den F’ye gidenler de bunun simetriği olduğu için toplam yol sayısı 4 * (4 + 4) = 32.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 4

## [4-6 soruları için açıklama]
Bu soruda her boncuğu siyah veya beyaz olabilen farklı tesbihlere bakacağız. İki tesbih, eğer sağa döndürerek birbiriyle aynı renk sırasına getirilebiliyorsa bunlara aynı tesbih diyeceğiz. Örneğin, aşağıda verilen tesbihlerden (a) ve (b) aynı, (c) ise farklıdır. Bu mantıkla siyah ve beyaz olan, 2 taneli toplam tesbih sayısı 3’tür.
[GÖRSEL] - [GÖRSEL] - [GÖRSEL]
  (a)        (b)        (c)

---

Beş boncuklu kaç farklı tesbih vardır?

Şıklar:
A) 5 | B) 32 | C) 8 | D) 6 | E) 30

Cevap: C 8

Çözüm:
5 asal sayı olduğu için, döndürerek farklı bir dizi elde edemeyeceğimiz tek boncuk sıraları tüm siyah veya tüm beyazdır. Kalanların her biri için tam 5 eş farklı dizilim vardır. Dolayısıyla sonuç 2 + (25-2)/5 = 8’dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 5

## [4-6 soruları için açıklama]
Bu soruda her boncuğu siyah veya beyaz olabilen farklı tesbihlere bakacağız. İki tesbih, eğer sağa döndürerek birbiriyle aynı renk sırasına getirilebiliyorsa bunlara aynı tesbih diyeceğiz. Örneğin, aşağıda verilen tesbihlerden (a) ve (b) aynı, (c) ise farklıdır. Bu mantıkla siyah ve beyaz olan, 2 taneli toplam tesbih sayısı 3’tür.
[GÖRSEL] - [GÖRSEL] - [GÖRSEL]
  (a)        (b)        (c)

---

On bir boncuklu kaç farklı tesbih vardır?

Şıklar:
A) 66 | B) 2048 | C) 1023 | D) 188 | E) 11

Cevap: D 188

Çözüm:
11 asal sayı olduğu için, döndürerek farklı bir dizi elde edemeyeceğimiz tek boncuk sıraları tüm sıyah veya tüm beyazdır. Kalanların her biri için tam  11 eş dizilim vardır. Dolayısıyla sonuç 2 + (211-2)/11 = 188’dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 6

## [4-6 soruları için açıklama]
Bu soruda her boncuğu siyah veya beyaz olabilen farklı tesbihlere bakacağız. İki tesbih, eğer sağa döndürerek birbiriyle aynı renk sırasına getirilebiliyorsa bunlara aynı tesbih diyeceğiz. Örneğin, aşağıda verilen tesbihlerden (a) ve (b) aynı, (c) ise farklıdır. Bu mantıkla siyah ve beyaz olan, 2 taneli toplam tesbih sayısı 3’tür.
[GÖRSEL] - [GÖRSEL] - [GÖRSEL]
  (a)        (b)        (c)

---

Dokuz boncuklu kaç farklı tesbih vardır?


Şıklar:
A) 510 | B) 60 | C) 512 | D) 58 | E) 9

Cevap: B 60

Çözüm:
9=3*3 olduğu için, renk dağılımı xyzxyzxyz şeklinde olmayan 2⁹-2³ dizinin her birisinden 9 tane, xyzxyzxyz şeklinde olup xxxxxxxxx şeklinde olmayan 2³-2 dizinin her birisinden 3 tane, xxxxxxxxx şeklinde olan dizilerin her birisinden de 1 tane vardır. Dolayısıyla (2⁹-2³)/9+(2³-2)/3+2=60 tane farklı tesbih vardır.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 7

100! sayısını tam bölen 3'ün en büyük kuvveti nedir? (Örneğin 6! sayısını bölen 3'ün en büyük kuvveti 2'dir).

Şıklar:
A) 48 | B) 100 | C) 101 | D) 47 | E) 49

Cevap: A 48

Çözüm:
100!'i toplam bölen üçlerin sayısı \(\left\lfloor \frac{100}{3} \right\rfloor + \left\lfloor \frac{100}{9} \right\rfloor + \left\lfloor \frac{100}{27} \right\rfloor + \left\lfloor \frac{100}{81} \right\rfloor = 48\)'dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 8

A 10 elemanlı bir küme, B 2 elemanlı bir küme ve C de 5 elemanlı bir küme olsun. \(f, A'\)dan B'ye; \(g\) de B'den C'ye herhangi bir fonksiyon olsun. \(h(x) = g(f(x)) = (f \circ g)(x)\) şeklinde kaç farklı fonksiyon vardır?

Şıklar:
A) 10225 | B) 9765625 | C) 1024 | D) 10240 | E) 9765615

Cevap: A 10225

Çözüm:
(f o g) şeklinde yazılabilen h fonksiyonlarının sayısı A'dan C'ye olan ve en fazla C kümesinde iki elemanı kullanan fonksiyonların sayısıyla eşittir. Bu özelliğe sahip toplam \(\binom{5}{2}(2^{10} - 2) + 5 = 10225\) fonksiyon vardır.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 9

## [9-10 soruları için açıklama]
Bir çiftçinin yedi hayvanı var: a, b, c, d, e, f, g. Çiftçi, şekilde aralarında bir çizgi bulunan hayvan çiftlerini başlarında olmadan bir arada bırakamıyor. Örneğin, çiftçi başlarında olmadan a ve b bir arada kalamıyor, ama a ve e bir arada durabiliyor.
[GÖRSEL]
Bir gün topluca yürürlerken karşılarına bir ırmak çıkıyor. Bu ırmağı geçmek için çiftçi bir kayık yapmaya karar veriyor. Malzeme az olduğu için, bütün hayvanları karşıya geçirmeye yetecek en küçük hayvan kapasiteli kayığı yapmak istiyor.

---

Kayık en az kaç hayvan kapasiteli olmalıdır ve bu kapasitede yapılacak bir yolculuk için çiftçinin en son seferinde hangi hayvanları karşıya geçirmesi gerekir?

Şıklar:
A) 3 ve (e, f, g) | B) 2 ve (c, d) | C) 3 ve (c, d, b) | D) 4 ve (b, e, f, g) | E) 2 ve (a, b)

Cevap: E 2 ve (a, b)

Çözüm:
Çiftçinin taşıması gereken hayvan sayısı bu ağacın bütün kenarlarına komşu olan en az düğüm sayısına eşittir, bu da 2'dir. Çiftçi en son taşımayı yaptığı esnada karşı kıyıda bir bağımsız küme olmak zorundadır. En büyük bağımsız küme c, d, e, f, g olduğu için çiftçinin son karşıya geçirmesi gereken çift a ve b'dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 10

## [9-10 soruları için açıklama]
Bir çiftçinin yedi hayvanı var: a, b, c, d, e, f, g. Çiftçi, şekilde aralarında bir çizgi bulunan hayvan çiftlerini başlarında olmadan bir arada bırakamıyor. Örneğin, çiftçi başlarında olmadan a ve b bir arada kalamıyor, ama a ve e bir arada durabiliyor.
[GÖRSEL]
Bir gün topluca yürürlerken karşılarına bir ırmak çıkıyor. Bu ırmağı geçmek için çiftçi bir kayık yapmaya karar veriyor. Malzeme az olduğu için, bütün hayvanları karşıya geçirmeye yetecek en küçük hayvan kapasiteli kayığı yapmak istiyor.

---

Çiftçi, bu taşımayı yapabileceği en küçük kapasiteli kayık ile toplam kaç taşıma sonunda hayvanları karşı kıyıya geçirebilir?

Şıklar:
A) 11 | B) 14 | C) 12 | D) 16 | E) 13

Cevap: E 13

Çözüm:
Çiftçi ağacın her kenarı için iki kere gidip gelmek zorundadır. Son turda a ve b'yi karşıya taşıması gerekir. Dolayısıyla toplam sefer sayısı 2*6+1=13'dür.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 11

8 erkek ve 5 kadın, iki kadın yan yana gelmemek şartıyla kaç farklı şekilde sıralanabilir?

Şıklar:
A) 8!5! | B) 13! | C) \( \frac{13!}{5!} \) | D) \( \frac{8!9!}{4!} \) | E) 8! 4!

Cevap: D \( \frac{8!9!}{4!} \)

Çözüm:
Önce 8 erkek 8! şekilde sıralanabilir. Kadınlar ise biri en önde, biri en arkada, yedi tanesi de iki erkeğin arasında olmak üzere toplam 9 yere 9!/4! şekilde yerleştirilebilir. Öyleyse cevap 8!9!/4!'dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 12

1TL, 5TL, 10TL, 20 TL, 50TL ve 100 TL'lik banknotların her birinden en az beşer tane olan bir kumbaradan 5 banknot kaç farklı şekilde seçilebilir?

Şıklar:
A) 120 | B) 184 | C) 252 | D) 368 | E) 720

Cevap: C 252

Çözüm:
Tekrarlı kümede n nesnenin r'li kombinasyonlarının sayısı  \( C(n+r-1,r)=(n+r-1)!/r!(n-1)! \) 'dir. Bu yüzden cevap  \( 10!/5!5!=252' \) dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 13

1 ve 100 arasındaki sayılardan (100 dahil) 2, 3 veya 5 ile tam bölünemeyenlerin sayısı nedir?

Şıklar:
A) 26 | B) 32 | C) 36 | D) 40 | E) 46

Cevap: A 26

Çözüm:
N(i) ile 1 ve 100 aralığındaki sayılardan i ile bölünebilenlerin sayısını gösterelim. Öyleyse cevabımız 100 - (N(2) + N(3) + N(5)) + (N(6) + N(10) + N(15)) - N(30) = 100 - (50 +33 + 20) + (16 + 10 + 6) - 3 = 26 olacaktır.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 14

1 ve 1000 arasındaki sayılardan (1000 dahil) 4, 6 veya 9 ile tam bölünemeyenlerin sayısı nedir?

Şıklar:
A) 351 | B) 461 | C) 501 | D) 561 | E) 611

Cevap: E 611

Çözüm:
N(i) ile 1 ve 1000 aralığındaki sayılardan i ile bölünebilenler in sayısını gösterelim. Öyleyse cevabımız 1000 - (N(4) + N(6) + N(9)) + (N(12) + N(18) + N(36)) - N(36) = 1000 - (250 +166 + 111) + (83 + 55 + 27) - 27 = 611 olacaktır.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 15

Aşağıdaki mantıksal ifadelerden hangileri her zaman doğrudur? → sembolü "ise", Λ sembolü "ve", V sembolü "veya", ve ← sembolü "değil" anlamına gelmektedir.
I. \((p \rightarrow q) \rightarrow ((r \rightarrow s) \rightarrow (p \land r \rightarrow q \land s))\)
II. \((p \land q) \lor (\neg p \land q)\)
III. \(\neg p \rightarrow (p \rightarrow (p \rightarrow q))\)

Şıklar:
A) Yalnız I | B) Yalnız II | C) Yalnız III | D) I ve III | E) I, II ve III

Cevap: D I ve III

Çözüm:
I ve III numaralı önermeler doğrudur. II numaralı önerme q yanlışşa yanlıştır.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 16

Üç boyutlu bir arazide 100 tane robot bulunmaktadır. İki robotun birbirleriyle doğrudan konuşabilmeleri için aralarındaki mesafenin en fazla 500 metre olması gerekmektedir. Birbirleriyle doğrudan konuşamayan robotlar başka robotlar vasıtasıyla birbirleriyle iletişim kurabilirler. Örneğin; A ve B robotları doğrudan konuşabiliyorlarsa, B ve C robotları doğrudan konuşabiliyorlarsa ve C ve D robotları doğrudan konuşabiliyorlarsa, A ve D robotları B ve C robotları vasıtasıyla birbirleriyle iletişim kurabiliyorlar demektir. Arazideki her robot en az k farklı robotla doğrudan konuşabiliyor olsun. Bütün robotların birbirleriyle iletişim kurmalarını garanti eden en küçük k tamsayısı kaçtır?

Şıklar:
A) 10 | B) 20 | C) 35 | D) 50 | E) 66

Cevap: D 50

Çözüm:
Her robotun bir düğüme denk geldiği ve birbirleriyle doğrudan konuşabilen düğümlerin arasında kenar olduğu bir çizge düşünelim. Bu soruda çizgenin bağlı olmasının garanti edilmesi için her bir düğümün derecesi en az kaç olmalıdır denmektedir. Her düğümün derecesi 50 olsun. Bu durumda her bir düğümün bulunduğu bağlı bileşen en az 51 düğümden oluşmaktadır. Güvercin yuvası prensibine göre çizge bağlı olmak durumundadır. Bu argümanlar 50’den küçük k değerleri için geçerli değildir. Çünkü bu durumda biri (k + 1) düğümden, diğeri ise (n – k - 1) düğümden oluşan iki bağlı bileşen olabilir. Bu yüzden
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 17

Bazıları oyun oynamayı seven, bazıları ise oyun oynamayı sevmeyen 150 kişilik bir toplulukta zincirleme mektup gönderme oyunu oynanıyor. İlk başta Ali dört kişiye mektup gönderiyor. Mektubu alan herkesten mektubu Ali dışındaki dört kişiye göndermeleri isteniyor. Topluluktaki bazı kişiler oyuna ilgi gösteriyor ve mektubu aldıklarında istendiği gibi Ali dışındaki dört kişiye gönderiyor. Oyuna ilgi göstermeyenler ise mektubu hiç kimseye göndermiyor. Yeterince uzun süre beklendikten sonra hiç kimsenin birden fazla mektup almadığı ve tam 100 kişinin ise mektubu almalarına rağmen kimseye göndermedikleri anlaşılıyor. Öyleyse eline mektup geçmemiş kaç kişi vardır?

Şıklar:
A) 13 | B) 15 | C) 17 | D) 19 | E) 21

Cevap: C 17

Çözüm:
Zincirleme mektup gönderme oyunu Ali’nin kök düğüme karşılık geldiği bir 4-lü ağaç ile temsil edilebilir. Bu ağacın 100 tane yaprağı olduğuna göre toplam düğüm sayısı (4 . 100 - 1)/(4 - 1) = 133’dür. Öyleyse 17 kişi mektubu görmemiştir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 18

## [18-19 soruları için açıklama]
Kral Arthur’un ülkesi toplam n tane kaleden oluşmaktadır ve kaleler arasında iletişim için güvencinler kullanılmaktadır. Bir eğitimli güvercin eğitim aldığı kale ikilisinin birinden bırakıldığında diğerine uçmaktadır. Her eğitimli güvercin her gün eğitim aldığı kaleler arasında git gel yapmaktadır. Her bir kale ikilisi arasında doğrudan güvercinlerle iletişim kurulabilmesi için n(n-1) güvercin eğitilmesi gerekmektedir. Güvercin eğitimi masraflı olduğundan Kral Arthur her bir kale ikilisi için güvercin eğitilmemesini, aralarında doğrudan iletişim için güvercin eğitilmemiş kalelerin diğer kaleler üzerinden iletişimlerini sağlamalarını istemiştir. Örneğin; (A,B), (B, C) ve (C, D) kale ikilileri için güvercinler eğitilmiş ise, A ve D kaleleri, B ve C kaleleri aracılığı ile iletişim sağlayabilir. Ayrıca Kral Arthur eğitimli güvercinlerden herhangi biri öldüğünde dahi bütün kalelerin birbirleriyle iletişim kurabilmelerini istemektedir.

---

Kral Arthur’un ülkesinde toplam 121 kale varsa, Kral Arthur’un istediği şartları sağlamak için en az kaç güvercin eğitilmesi gerekmektedir?

Şıklar:
A) 120 | B) 121 | C) 122 | D) 241 | E) 242

Cevap: B 121

Çözüm:
Problem n düğümlü bir çizge ile modellenebilir. Kaleler düğümlere, her eğitimli güvercinin mesaj taşıyabileceği kale ikilileri ise çizgilere karşılık gelmektedir. Soruda n düğümlü bağlı bir çizgede her düğümün derecesi en az iki ise çizgi sayısının en az kaç olabileceği sorulmaktadır. Bu da bütün düğümleri içeren bir döngü ile mümkündür. O yüzden cevap düğüm sayısına eşittir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 19

## [18-19 soruları için açıklama]
Kral Arthur’un ülkesi toplam n tane kaleden oluşmaktadır ve kaleler arasında iletişim için güvencinler kullanılmaktadır. Bir eğitimli güvercin eğitim aldığı kale ikilisinin birinden bırakıldığında diğerine uçmaktadır. Her eğitimli güvercin her gün eğitim aldığı kaleler arasında git gel yapmaktadır. Her bir kale ikilisi arasında doğrudan güvercinlerle iletişim kurulabilmesi için n(n-1) güvercin eğitilmesi gerekmektedir. Güvercin eğitimi masraflı olduğundan Kral Arthur her bir kale ikilisi için güvercin eğitilmemesini, aralarında doğrudan iletişim için güvercin eğitilmemiş kalelerin diğer kaleler üzerinden iletişimlerini sağlamalarını istemiştir. Örneğin; (A,B), (B, C) ve (C, D) kale ikilileri için güvercinler eğitilmiş ise, A ve D kaleleri, B ve C kaleleri aracılığı ile iletişim sağlayabilir. Ayrıca Kral Arthur eğitimli güvercinlerden herhangi biri öldüğünde dahi bütün kalelerin birbirleriyle iletişim kurabilmelerini istemektedir.

---

Kral Arthur’un 121 kalesinin 11x11’lik bir satranç tahtasının köşelerinde olduğunu düşünelim ve sadece komşu olan kale ikilileri için güvercin eğitilebileceğini varsayalım. Bu durumda Kral Arthur’un istediği şartları sağlamak için en az kaş güvercin eğitilmesi gerekmektedir?

Şıklar:
A) 120 | B) 121 | C) 122 | D) 241 | E) 242

Cevap: C 122

Çözüm:
Problemde düğümler 11 x 11’lik bir ızgara oluşturmaktadır. Çizgiler ise komşu düğümler arasına çizilebilir. Bu çizgede Hamilton döngüsü yoktur. Ancak Hamilton yolu vardır. Bir Hamilton yolunu alıp (n - 1 çizgili), başlangıç ve bitiş düğümlerine birer çizgi çekildiğinde istenen özellikler sağlanır. Yani toplam n + 1 = 122 çizgi gerekmektedir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 20

97 kişilik bir öğrenci topluluğunda öğrenciler, aynı sayıda öğrenci tanıyanlar aynı grupta olacak şekilde gruplara ayırıyorlar. En kalabalık gruptaki öğrenci sayısı en az kaçtır?

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

Cevap: B 2

Çözüm:
Problem 97 düğümlü bir çizge ile modellenebilir. İki kişi birbirini tanıyorsa karşılık gelen düğümler arasında biz çizgi vardır. Derecesi aynı olan düğümlere karşılık gelen kişiler aynı gruptadır. Öncelikle her gruptaki kişi sayısının bir olamayacağını, yani bu çizgedeki her düğümün derecesinin farklı olamayacağını gösterelim. Toplam 97 düğüm var ve derecelerin alabileceği toplam 97 farklı değer var (0 ve 96 arasındaki sayılar). Ancak düğümlerden birisinin derecesi 96 ise hiçbir düğümün derecesi 0 olamaz. Bu yüzden bu sorunun cevabı 1 olamaz.
Sadece 2 düğümün aynı dereceye, geri kalan düğümlerin farklı derecelere sahip oldukları bir çizge üreten bir algoritma verelim.
1. Düğümleri 1'den 97'ye kadar numaralandıralım
2. for i = 1'den 48(= (n/2))'e kadar
a. i düğümünden kendinden sonraki 98 – 2i düğüme çizgi çek
Bu algoritma ile oluşturulan çizgede 48. ve 49. düğümlerin derecesi 49 olur. i > 49 için i. düğümün derecesi 98 – i olur. i < 48 için i. düğümün derecesi 97 – i olur. Bütün düğümlerin dereceleri birbirinden farklı ve sadece 48. ve 49. düğümlerin dereceleri birbirine eşit olduğundan doğru cevap 2'dir.
Bilgisayar Olimpiyatı 2019, 1. Aşama, Soru 21

Aşağıda yer alan taş sıralamalarından hangisi Kermit’in fark ettiği kuralı bozmaktadır?

Şıklar:
A) 91-37-18-26-27-8-2-3-4-20 | B) 80-57-13-23-11-2-4-6-9-8 | C) 71-44-65-17-7-5-22-1-19-3 | D) 66-45-14-23-10-6-7-2-19-1 | E) 63-53-27-19-51-16-22-5-2-30

Cevap: C 71-44-65-17-7-5-22-1-19-3

Çözüm:
Her indeks için bir sonraki zıplanacak taş 2i veya 2i+1 olacaktır. C şıkkında 17 ve 19 sayıları bu kuralı bozmaktadır.