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

[36-50 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.

---

Aşağıda kodu verilen alfa() fonksiyonu her zaman aşağıdaki koşullarda çağrılmaktadır:
- s parametresi boş karakter ile biten geçerli bir kelime katarına (string) işaret etmektedir.
- u parametresi s katarının boyunu tutmaktadır, yani u = strlen(s).
Bu şartlar altında, while döngüsünün içindeki i<u koşulu aşağıdakilerden hangisi ile değiştirilirse fonksiyonun davranışı değişmez?
```c
int alfa(char s[], int u)
{
int i = 0;
while (i<u)
if (!isalpha(s[i]))
return 0;
else
i++;
return 1;
}
```

Şıklar:
A) s[i] | B) *s != 0 | C) s[i] != '\0' | D) *(s + i) != '\0' | E) Hiçbiri

Cevap: D *(s + i) != '\0'

Çözüm:
strlen() fonksiyonu verilen katarın boyunu, yani kaçıncı karakterinde boş karakter (sayısal olarak 0) olduğunu dönmektedir. Yazılı koşula göre söz konusu döngü, i değişkeninin değeri s katarının boyuna ulaşana dek dönmektedir. Bu durum oluştuğunda s[i]'in değeri 0 olacağı için, s[i] ifadesi de bu döngüyü sonlandırmak için kullanabilir.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 48

[36-50 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.

---

Aşağıda kodu verilen p() fonksiyonu tek parametre olarak 4×4 büyüklüğünde iki boyutlu bir 
a dizisi almaktadır. 
void p(int a[4][4]) 
{  
for (int i = 0; i < 4; i++) 
for (int j = 0; j < 4; j++) 
a[4 - i - 1][j] = a[i][j]; 
} 
Görsel olarak, a dizisinin elemanları, 4 satır ve sütundan oluşmak üzere aşağıdaki gibi 
değerlendirilmektedir. Dizinin birinci boyutunun satırlara, ikinci boyutunun sütunlara denk 
geldiğine dikkat ediniz. 
a[0][0] a[0][1] a[0][2] a[0][3] 
a[1][0] a[1][1] a[1][2] a[1][3] 
a[2][0] a[2][1] a[2][2] a[2][3] 
a[3][0] a[3][1] a[3][2] a[3][3] 
Buna göre p() fonksiyonu aşağıdakilerden hangisini gerçekleştirmektedir?

Şıklar:
A) a dizisini saat yönünde 90 derece çevirmektedir. 
B) a dizisini saat yönünün tersinde 90 derece çevirmektedir. 
C) a dizisini dikey yönde ters çevirmektedir. 
D) a dizisini yatay yönde ters çevirmektedir. 
E) Hiçbiri.

Cevap: E Hiçbiri.

Çözüm:
Söz konusu fonksiyonun dış döngüsünün ilk iki dönüşünden sonra ilk iki satır, son iki satırın üzerine 
kopyalanmıştır. Son iki satırdaki değer kaybolduğu için, p() fonksiyonunun dizinin ilk değerlerini 
koruyan herhangi bir işlemi gerçekleştirmesi mümkün değildir. Bütün şıklarda bu tarz bir işlem 
yazıldığından, doğru cevap hiçbiridir.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 50

[36-50 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.

---

Aşağıda kısmi kodu verilen e() fonksiyonu, 0 ile 30 arasındaki n değerleri için, 2n değerini 
hesaplamaktadır. (“int” tipinin boyunu 4 bayt varsayınız.) 
int e(int n) 
{ 
int s = 1; 
for (int i = 0; i < n; i++) 
_______________ 
return s;
} 

Buna göre boşluk bırakılan yerde aşağıdaki kodlardan hangisi olabilir?

I. s = 2 * s; 
II. s = s << 1; 
III. s = s + e(i);

Şıklar:
A) Sadece I  
B) Sadece II 
C) I ve II 
D) I ve III 
E) I, II, ve III

Cevap: E I, II, ve III

Çözüm:
Boşluğa I nolu kod konulduğunda fonksiyon beklendiği gibi 2n dönecektir çünkü sonucu oluşturmak 
için doğrudan 1’i n defa 2 ile çarpmaktır. II nolu kod tek bir bit kaydırması içermektedir ve bu da 
mevcut koşullar içerisinde 2 ile çarpmaya denktir. Diğer bir deyişle II nolu kod I nolu koda denktir 
ve beklenen sonucu vermektedir. III nolu kod da ise özyinelemeli bir fonksiyon oluşmaktadır. Bu 
özyinelemeye göre, taban durum e(0) = 1 olmak üzere e(n) fonksiyonu e(n-1) + … + e(0) + 
1 olarak tanımlanmaktadır. e(n)=2n doğrudan bu tanımlamaya uyduğu için III nolu kod da istenen 
sonucu verecektir.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 1

K, L, M, N, P, R ve S isimlerinde toplam yedi yüzücü bir dizi yüzme yarışına katılmışlardır, ve her biri bütün yarışları tamamlamıştır. Yarışlara bu yedi kişi dışında katılan yoktur. Yarışların hiçbirinin sonucunda yüzücü sıralamalarında berabere kalma durumu oluşmamıştır. Yüzülen her yarışta,
 S yarışı K’den önce bitirmiştir.
 K yarışı L’den önce bitirmiştir.
 Ya M birinci ve P sonuncu olmuştur;  ya da N birinci ve L ile R’den bir tanesi sonuncu olmuştur.
Yarışlardan birinde N yarışı altıncı sırada, L ise beşinci sırada bitirdiyse, aşağıdakilerden hangisi doğru olabilir?

Şıklar:
A) S yarışı birinci veya dördüncü sırada bitirmiştir. | B) M yarışı ikinci veya üçüncü sırada bitirmiştir. | C) K yarışı ikinci sırada bitirmiştir. | D) R yarışı üçüncü veya dördüncü sırada bitirmiştir. | E) P yarışı dördüncü sırada bitirmiştir.

Cevap: D R yarışı üçüncü veya dördüncü sırada bitirmiştir.

Çözüm:
N altıncı sırada ise birinci değildir, bu durumda M birinci ve P yedincidir. Bu durumda B şıkkı da E şıkkı da doğru olamaz. M birinci olduğu için, S birinci olamaz. S, K’den önce ve K de L’den önce bitireceğinden, ve L’nin beşinci bitirdiği verildiğinden, S dördüncü de olamaz. Bu durumda A şıkkı doğru olamaz. Birinci sırada M olduğu ve S’nin K’dan önce olması gerektiği için, K yarışı ikinci sırada bitirmiş olamaz, C şıkkı da doğru olamaz. D şıkkı ise doğru olabilir, öyle ki S ikinci, R üçüncü ve K dördüncü olursa veya S ikinci, K üçüncü ve R dördüncü olursa yukarıda verilen bilgilerle çelişen bir sıralama oluşmaz.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 2

X komisyonunda sadece 2 kişi görevlendirilecekse, aşağıdakilerden hangisi bu iki kişiden biri olabilir?

Şıklar:
A) Gökhan | B) Hakan | C) Jale | D) Kemal | E) Leyla

Cevap: D Kemal

Çözüm:
Gökhan ve Jale aynı komisyonda ve Figen’den farklı komisyonda olmalılar.
--Gökhan X komisyonunda ise Jale de X komisyonundadır. Hakan ve Ilgaz’dan biri de mutlaka X komisyonunda olacağından sayı 3’e çıkar, dolayısıyla Gökhan X komisyonundaki iki kişiden biri olamaz. Cevap A olamaz.
--Benzer argüman Jale  için de geçerlidir. Cevap C olamaz.
--Kemal X komisyonunda ise Ilgaz ve Hakan’dan biri, ve Figen veya (Gökhan,Jale) ikilisi X komisyonunda olmalıdır. Her durumda sayı 2’nin üstüne çıkar. Cevap D şıkkı olamaz.
--Benzer argüman Leyla için de geçerlidir. Cevap E şıkkı da olamaz.
--Hakan X komisyonunda olursa diğer komisyon üyesi Figen olabilir, ve geri kalanların hepsi Y komisyonunda olabilirler. Bu durumda
A şıkkına bakıldığında: Gökhan ve Jale aynı komisyonda ve Figen’den farklı komisyonda olmalılar. Figen ve Leyla X’de ise Gökhan ve Jale Y’dedir. Hakan Y’de ise Ilgaz X’tedir. Kemal ise X’te de Y’de de olabilir, dolayısıyla seçenek tek değildir.
B şıkkına bakıldığında: Jale X’teyse, Gökhan da X’tedir, Figen ise Y’dedir. Şıktı verilen koşula göre Kemal ve Leyla Y’de olmalıdır. Bu durumda Hakan X’te, Ilgaz Y’de, veya tam tersi olabilir. Dolayısıyla seçenek tek değildir.
C şıkkına bakıldığında: Gökhan ve Leyla X’te ise Jale de X’tedir, Figen ise Y’dedir. Kemal her iki komisyonda da olabilir. Hakan X’te, Ilgaz Y’de, veya tam tersi olabilir. Dolayısıyla seçenek tek değildir.

text</td>
[[138, 431, 879, 547]]<|/det|>
D şıkkına bakıldığında: Hakan ve 4 kişi daha X’te olmalıdır. Ilgaz X’te olamaz. Figen ve (Jale,Gökhan) ikilisinin farklı komisyonlarda olma şartından dolayı iki durum vardır: (i) Figen X’te olursa Jale ve Gökhan Y’de olmak zorunda olduğundan, Kemal ve Leyla X’te görevlendirilse bile, Hakan dışında sadece 3 kişi olur. Bu seçenek ek koşulu sağlamamaktadır. (ii) (Jale, Gökhan) ikilisi X’te olursa Kemal ve Leyla da X’te görevlendirilerek 4 kişi koşulu sağlanır. Bu görevlendirme bütün koşulları sağlayabilen tek seçenektir.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 4

12 düğüm ve 3 bağlı bileşeni olan bir basit yönsüz çizgede en fazla kaç kenar olabilir?

Şıklar:
A) 18 | B) 24 | C) 45 | D) 55 | E) 66

Cevap: C 45

Çözüm:
En fazla kenar içeren durum çizge 10 düğümlü bir klik ve 2 izole düğümden oluştuğunda gerçekleşir. Bu durumda çizgede 45 kenar vardır.
Her düğümün arkadaş grubunun bir üyesine karşılık geldiği bir çizge düşünelim. Bu çizgedeki bir (u, v) kenarı, u ve v’nin karşılık geldiği kişilerin yan yana oturma olasılığı olduğu anlamına gelsin. Her kişinin kendisi dışındaki her kişi ile yan yana oturma olasılığı olduğu için oluşan 9 düğümlü bir tam çizgedir. Her oturma düzeni ise bu çizgedeki bir Hamilton döngüsüne karşılık gelir. (Hamilton döngüsü her düğüm üzerinden tam bir defa geçerek bütün düğümleri dolaşan ve başlangıç düğümüne geri dönen yoldur.) Bu soruda istenen ise birbirinden tamamen farklı kenarları içeren Hamilton döngülerinin sayısıdır. N düğümlü bir tam çizgede bu sayı (N-1)/2 olup, 9 düğümlü çizgemizde birbirinden tamamen farklı kenarlar içeren 4 Hamilton döngüsü vardır.
Bu soru şu şekilde de çözülebilir: Bir kişinin yanında en fazla 4 farklı ikili oturabileceğinden ilk olarak sorunun cevabının üst limitinin 4 olduğu görülebilir. Sonrasında muhtemel permütasyonları kontrol ederek üst limite ulaşılabileceği görülebilir.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 5

Aynı liseden mezun olmak üzere olan 9 kişilik bir arkadaş grubu, bağlantılarını sürdürmek
için mezuniyet sonrasında da ayda bir akşam yemeği için buluşmaya karar vermişlerdir. Bu
arkadaş grubunun her zaman gittikleri favori bir restoranları vardır ve gelecekteki akşam
yemeklerini de bu restoranda bir yuvarlak masa etrafında yiyeceklerdir. Herkese birbiriyle
daha fazla sohbet imkanı vermek amacıyla yemeklerdeki oturma düzeni ile ilgili şöyle bir
karar alırlar: her bir kişinin yanında (sağında ve solunda) her akşam yemeği buluşmasında
farklı iki kişi oturacaktır. Örneğin ilk yemekte A’nın bir yanında B, diğer yanında C
oturduysa, sonraki yemeklerde A’nın yanında B ve C’den farklı kişiler oturmalıdır. Bu
oturma düzeni kuralı en fazla kaç ay sürdürülebilir?

Şıklar:
A) 8!
B) 8! / 2
C) 2
D) 3
E) 4

Cevap: E 4

Çözüm:
Her düğümün arkadaş grubunun bir üyesine karşılık geldiği bir çizge düşünelim. Bu
çizgedeki bir (u, v) kenarı, u ve v’nin karşılık geldiği kişilerin yan yana oturma olasılığı
olduğu anlamına gelsin. Her kişinin kendisi dışındaki her kişi ile yan yana oturma olasılığı
olduğu için oluşan 9 düğümlü bir tam çizgedir. Her oturma düzeni ise bu çizgedeki bir
Hamilton döngüsüne karşılık gelir. (Hamilton döngüsü her düğüm üzerinden tam bir defa
geçerek bütün düğümleri dolaşan ve başlangıç düğümüne geri dönen yoldur.) Bu soruda
istenen ise birbirinden tamamen farklı kenarları içeren Hamilton döngülerinin sayısıdır. N
düğümlü bir tam çizgede bu sayı (N-1)/2 olup, 9 düğümlü çizgemizde birbirinden
tamamen farklı kenarlar içeren 4 Hamilton döngüsü vardır.
Bu soru şu şekilde de çözülebilir: Bir kişinin yanında en fazla 4 farklı ikili
oturabileceğinden ilk olarak sorunun cevabının üst limitinin 4 olduğu görülebilir.
Sonrasında muhtemel permütasyonları kontrol ederek üst limite ulaşılabileceği görülebilir.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 6

Aşağıda sözde kod olarak verilen algoritma girdi olarak bir n tam sayısı almaktadır. Bu algoritma ilk olarak indisleri 1’den başlayan, n uzunluğunda ve başlangıçta bütün elemanları 0 (sıfır) olan bir A dizisi oluşturmaktadır. Daha sonra bu dizi üzerinde aşağıda belirtilen işlemleri yapmaktadır.
## Sözde Kod:
1. A[1..n], indisleri 1'den başlayan, n uzunluğunda ve başlangıçta gütün elemanları 0 olan bir dizi olsun.
2. A[1]’e 1 değerini ata.
3. p = 2 olsun.
4.  \( p' \)  nin n'ye eşit veya n'den küçük her bir tam katı ( \( k \times p \) ,  \( k > 1 \) ) için
4.1. A[k × p]'ye 1 değerini ata.
5. Dizide içinde 0 değeri bulunan ve p'den büyük en küçük indise sahip elemanı bul. Böyle bir eleman yoksa algoritmayı sonlandır. Varsa p'ye bu elemanın indisini ata ve algoritmayı 4. basamaktan itibaren tekrarla.
Yukarıda verilen algoritma, n = 100 için çalıştırılırsa algoritma sonlandığında A dizisinin kaç elemanının değeri 0 olur?

Şıklar:
A) 15 | B) 16 | C) 18 | D) 25 | E) 30

Cevap: D 25

Çözüm:
Verilen algoritmada p ilk olarak 2 değerini almakta ve 2'nin kendinden farklı ve 100'den küçük katları olan 4, 6, 8,.. indislerindeki elemanlara 1 değerini atamaktadır. Bir sonraki p değeri 3 olur. (içinde 0 değeri bulunan ve 2'den büyük en küçük indis). 4. Basamak p=3 için tekrarlandığında 3'ün katları olan 6, 9, 12,.. indislerindeki elemanlara 1 atanır. Bu aşamaya kadar 2'nin ve 3'ün katları olan indislerdeki elemanlar 1 olarak atandığı için, bir sonraki p değeri 3'ten sonraki ilk asal sayı olan 5 olur. Algoritma bu şekilde devam ederek sonlandığında dizide değeri 0 olarak kalan elemanlar indisleri asal sayı olan elemanlardır. 1 ve 100 indisleri arasında, toplam 25 asal sayı olan indis olduğundan
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 9

Hızlı Taşımacılık Şirketi’nde çalışan işçilerin büyük mobilya parçalarını taşımaları
gerekiyor. Bir ev taşıma işini koordine eden şirket amiri, büyük mobilyaları birlikte
taşıyabilmeleri için işçileri ikili gruplar halinde eşleştirmek istiyor. Her işçinin verimliliği,
bir saatte taşıyabileceği toplam ağırlık ile ölçülsün. İki işçiden oluşan bir grubun
verimliliği ise iki işçi arasında verimliği daha az olan işçinin verimliliğine eşit olsun.
Örneğin, verimliliği 500 olan bir işçi, verimliliği 300 olan başka bir işçiyle eşleştirilirse,
gruplarının verimliliği 300 olur. Toplam verimlilik, tüm grupların verimliliklerinin toplamı
olsun. Bu taşıma işinde çalışan n işçi olduğunu ve n sayısının bir çift sayı olduğunu
varsayalım. Amire n işçinin verimliliklerini gösteren, indisleri 1’den başlayan ve n
elemanlı V[1..n] dizisi veriliyor, bu dizinin i. elemanı i. işçinin verimliliğini göstermekte.
Amirin amacı işçileri toplam verimliliği maksimize edecek şekilde eşleştirmek.
Amir, işçileri eşleştirmek için şu stratejiyi düşünüyor: Aralarındaki verimlilik farkı en
küçük olan iki işçiyi bulup onları eşleştirin. Tüm işçiler eşleştirilene kadar bu işlemi
tekrarlayın. Bu stratejinin her zaman verimliliği maksimize etmeyeceğini aşağıdaki V
dizilerinden hangisini örnek göstererek ispat edebiliriz?

Şıklar:
A) V: {13, 3, 8, 12, 9, 6}
B) V: {1, 1, 2, 2, 3, 3}
C) V: {12, 5, 9, 24, 20, 18}
D) V: {25, 3,4, 22, 10, 15}
E) Hiçbiri

Cevap: C V: {12, 5, 9, 24, 20, 18}

Çözüm:
Soruda verilen stratejiye göre toplam verimlilik min(18,20)+min(9,12)+min(5,24) = 32
olur. Fakat eğer işçiler küçükten büyüğe verimlilik sırasına göre sıralanıp, sonra bu
sıralamada en küçükten başlayarak ardışık her iki işçiyi eşleştirilecek şekilde bir strateji
uygulanırsa (ki bu optimali veren stratejidir) verimlilik min(5,9) + min(12,18) +
min(20,24) = 37 olur. Bu durumda 32’den daha iyi bir eşleştirme mümkün olduğu için C
şıkkındaki örnek önerilen stratejinin optimal olmadığını ispatlar. Diğer şıklarda soruda
önerilen strateji optimal çözümle aynı sonucu verdiğinden karşı örnek olarak
kullanılamazlar.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 11

[10-11 Sorular için açıklama]
Birden fazla alt projeden oluşan büyük bir projeyi gerçekleştirmek istiyorsunuz. Örneğin
büyük projeniz bir ev inşa etmek olsun, bunun için tamamlanması gereken alt projeler ise
temelin kazılması, duvarların inşa edilmesi, camların takılması, iç mekanların yapılması
gibi faaliyetler olabilir. Bu alt projeleri alt yüklenici firmalar gerçekleştirecek olsun. Alt
projelerden bazıları, diğerlerinin kendilerinden önce yapılmasını gerektirecektir (örneğin
duvarları inşa etmeden pencereleri takamazsınız), bazıları ise aynı anda yapılabilir. Her alt
projeyi bitirmek için gereken tahmini bir süre olduğunu varsayın. Büyük projenin ne kadar
zamanda tamamlanabileceğini ve çeşitli alt projelere en erken ne zaman başlanabileceğini
önceden bilmek istiyorsunuz ki alt yüklenicileri ayarlayabilesiniz.
Aşağıdaki örnek tabloda A, B, C ve D olarak isimlendirilmiş toplam 4 alt projeden oluşan
bir büyük proje için, her alt projenin süresi (tam gün olarak ve sıfırdan büyük), ve her alt
projenin başlatılabilmesi için tamamlanmış olması gereken alt projelerin listesi verilmiştir.
Alt projelerin başladığı günün sabahında başlayıp, bittiği günün sonunda bittiğini varsayın.
Örneğin A projesi 1. günün sabahında başlarsa, 10. günün sonunda tamamlanacaktır. B
projesi en erken A projesinin bittiği günün ertesi günü sabahında (11. gün sabahında)
başlayıp, 25. günün sonunda tamamlanacaktır. C projesi de en erken A projesinin bittiği
günün ertesi günü sabahında (11. gün sabahında) başlayıp, 35. gün sonunda
tamamlanacaktır. D alt projesi B ve C bitmeden başlayamayacağı için en erken 36. günün
sabahında başlayıp 43. gün sonunda tamamlanacaktır. Projenin tamamı 43. günün sonunda
tamamlanmış olacaktır.

<table><tr><td>Alt Proje</td><td>Süre (tam gün)</td><td>Kendisinden önce tamamlanmış olması gereken alt projeler</td></tr><tr><td>A</td><td>10</td><td>-</td></tr><tr><td>B</td><td>15</td><td>A</td></tr><tr><td>C</td><td>25</td><td>A</td></tr><tr><td>D</td><td>8</td><td>B, C</td></tr></table>

---

Büyük projenizde 1'den n'e kadar sayılarla numaralanan n tane alt proje vardır. Numarası  \( k(1 \leq k \leq (n - 1)/2) \)  olan alt projenin başlayabilmesi için numaraları 2k ve 2k + 1 olan alt projeler tamamlanmış olmalıdır. Numarası  \( k(1 \leq k \leq n) \)  olan bir alt projenin maksimum süresi k gün ise  \( n = 2^{9}-1 = 511 \)  için büyük proje en erken kaçıncı günün sonunda tamamlanır?

Şıklar:
A) 254 | B) 502 | C) 1013 | D) 2022 | E) 625

Cevap: C 1013

Çözüm:
Soru 5'teki gibi ek bir 0. düğüm eklediğimiz çizge ile modellersek,  \( k, 1 \leq k \leq 255 \)  düğümüne sadece 2k ve  \( 2k + 1 \)  numaralı iki farklı düğümden kenarlar gelecektir. k, k > 255 düğümüne ise 0. düğümden bir kenar gelecektir. Bu durumda, çizgedeki en uzun yol 0. düğüm->511->255->127->...->1 yoludur. Bu yolun uzunluğu  \( 1 + 3 + 7 + 15 + 31 + 63 + 127 + 255 + 511 = 1013 \)  tür, projenin tamamı 1013 günün sonunda tamamlanır.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 12

Bir kutuda üzerlerine 1 ile 20 arasında farklı sayılar yazılmış toplam 20 tane top vardır (farklı iki top üzerinde aynı sayı bulunmaz). 4 tane top yerine konulmadan rastgele bu kutudan seçildiğinde bu topların büyükten küçüğe sıralı olarak seçilme ihtimali kaçtır?

Şıklar:
A) 1/4 | B) 1/5 | C) 1/20 | D) 1/24 | E) Hiçbiri

Cevap: D 1/24

Çözüm:
Kutudan rastgele yerine koymadan 4 top seçelim. Bu toplar kendi aralarında 4! farklı sıraya seçilebilir. Bunlardan ise sadece 1 tanesinde istenen şekilde sıralanmışlardır. Bu nedenle kutudan seçilebilecek herhangi 4 top için için 4! = 24 farklı sıralamadan sadece 1 tanesi şartı sağlar. Yani istenen ihtimal 1/24.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 13

Bir mezuniyet partisine gelen herkes kendisi dışında partiye katılan herkesin elini sıkmıştır. Bu partide toplam 171 kere el sıkışılmış ise partideki kişi sayısı kaçtır?

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

Cevap: B 19

Çözüm:
Partide n kişi olsun. İlk kişi n-1 tane el sıkmıştır, ikinci kişi ilk kişi ile sıktığı el dışında n-2 tane farklı el sıkmıştır. Bu şekilde toplamda  \( (n-1)+(n-2)+\ldots+1=n(n-1)/2=171'den n=19 \)  olur.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 14

ANKARA kelimesindeki harfler kaç farklı şekilde dizilebilir?

Şıklar:
A) 120 | B) 520 | C) 24 | D) 6 | E) Hiçbiri

Cevap: A 120

Çözüm:
ANKARA kelimesinde 3 tane A, 1 tane N, 1 tane K ve 1 tane R harfi vardır. Bu nedenle,
6!/(3!.1!.1!.1!) = 6 x 5 x 4 = 120.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 15

3 boyutlu uzayda bir pozisyondan diğerine gitmek için her adımda X, Y, Z koordinatlarından sadece birini 1 birim arttırdığımızı ve diğer ikisini değiştirmediğimizi varsayalım. Buna göre (0,0,0) noktasından (1,2,4) noktasına giden kaç farklı yol vardır?

Şıklar:
A) 8 | B) 21 | C) 105 | D) 420 | E) Hiçbiri

Cevap: C 105

Çözüm:
Tüm bu yolların kümesi ile 1 tane X, 2 tane Y ve 4 tane Z içeren küme arasında bir ilişki. Burada, X, Y, ve Z sırasıyla birinci, ikinci ve üçüncü koordinatı bir birim artıran bir adıma karşılık gelir. Buna göre,
7!/(4! x 2! x 1!) = 105
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 16

Bir kutudaki topların yarısı bir biri ile tamamen aynı, geri kalanların her biri diğer toplardan tamamen farklı olsun. Kutuda 2A tane top olduğuna göre bu kutudan A tanesi kaç farklı şekilde seçilebilir?

Şıklar:
A) 2A | B) A | C) \( A^{2} \) | D) \( 2^{2A} \) | E) \( 2^{A} \)

Cevap: E \( 2^{A} \)

Çözüm:
İlk olarak, farklı topları kaç şekilde seçeceğimizi bulalım. Sonra, toplamı A'ya getirmek için ne kadar çok özdeş topa ihtiyacımız varsa onları alalım. İlk adım, 2^{A} şekilde yapılabilir ve ikincisi sadece 1 şekilde yapılabilir. Bu nedenle, istenen şekilde A tane topu seçmenin 2^{A} yolu vardır.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 17

1,2,3,4,5,6,7 rakamları kullanılarak içinde mutlaka 1 rakamı bulunan 4 haneli sayılar oluşturulacaktır. Aynı rakamın tekrar kullanımına izin verilmediği durumda bu şekilde kaç tane sayı oluşturulabilir?

Şıklar:
A) 24 | B) 120 | C) 256 | D) 480 | E) Hiçbiri

Cevap: D 480

Çözüm:
1 sayının binler basamağında olduğunda toplamda  \( 1 \times 6 \times 5 \times 4 = 120 \)  tane sayı oluşturulabilir (aynı rakamın tekrar kullanımına izin verilmediği için). 1 sayının yüzler, onlar ya da birler basamağında da olabilir. Bu durumda, toplamda  \( 4 \times 120 = 480 \)  tane istenen şekilde sayı elde edilir.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 18

Hilesiz bir madeni para 20 kere havaya atılıyor. Bu şekilde Yazı ve Tura serileri elde ediliyor. İçinde en fazla 2 tane Yazı olan kaç farklı seri vardır?

Şıklar:
A) 2 | B) 18 | C) 190 | D) 210 | E) 211

Cevap: E 211

Çözüm:
\[ \mathsf{C}(20,0)+\mathsf{C}(20,1)+\mathsf{C}(20,2)=1+20+190=211 \]
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 19

Aşağıda sözde kod ile yazılmış olan algoritmayı göz önüne alın. Burada açıklama satırları // ile gösterilmektedir.
//x ve y degiskenleri tam sayı olarak tanımlanmış olsun.
do
{
x ve y degiskenlerini klavyeden oku.
}
while (x <= 0 || y <= 0); // || veya anlamındadır.
while (x ≠ y) {
if (x > y)
x ← x - y;    // ← atama için kullanilir.
else
y ← y - x;
}
y degiskenini ekrana yaz.
Bu algoritma aşağıdakilerden hangisini hesaplar?

Şıklar:
A) EBOB (x,y) | B) x mod y | C) x+y | D) EKOK(x,y) | E) x ve y değerlerine bagli olarak degisir.

Cevap: A EBOB (x,y)

Çözüm:
Bu algoritma x ve y değişkenlerinin en büyük ortak bölenini bulmaktadır.
Bilgisayar Olimpiyatı 2023, 1. Aşama, Soru 20

[20-22] Sorular İçin Açıklama
K, YveMkarakterlerini kullanarak (bu harfler sırasıyla Kırmızı, Yeşil ve Mavi renklerini
gösterir) renkli bir üçgeni temsil eden bir program yazıyoruz. Üçgen oluşturma kuralları
şöyledir:
● İlksatırdaki karakterler girdi olarak verilir.
● İkinci satırdan itibaren her satır bir önceki satırdan bir tane daha az karakter içerir.
● Birsatırdaki ardışık iki karakter incelenerek sonraki satırdaki karakter bulunur.
● Birsatırda aynı rengi temsil eden iki karakter yan yana ise sonraki satıra bu
karakter konur.
● Birsatırda farklı iki rengi temsil eden iki karakter varsa sonraki satıra olmayan
rengin karakteri konur.
● Ensonsatırda tek bir karakter kalana kadar bu kurallar uygulanır.
Örnek olarak, aşağıdaki üçgenler bu kurallara göre oluşturulmuştur:

K K
 K

Y K M
 M Y
  K

M K
 Y

---

9 karakterli kaç tane farklı satır 8 karakterli KKYMKYMM satırını oluşturabilir?

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

Cevap: C 3

Çözüm:
Şu 3 satır istenen satırı oluşturabilir.
KKKMMYYKY
YMYYKKMMM
MYMKYMKYK