Gena öz
məktəbinin şagirdləri ilə turist
səfərinə hazırlaşır. Öz
siniflərində o, turist çadırına cavabdeh təyin
olunmuşdu. Öz evlərində o, 3 çadır tapdı:
onlardan birincisi a1
kiloqramdır və b1
adam tutur, ikincisi a2
kiloqramdır və b2
adam tutur, üçüncüsü isə a3 kiloqramdır və b3 adam tutur.
Gena gilin
sinfində k şagird var.
Aydınlaşdırın: o, çadırları elə
seçə bilərmi ki, onlarda bütün şagirdlər
hamısı yerləşə bilsin. Bu zaman nəzərə
alın ki, seçilmış çadırların ümumi
çəkisi w kiloqramdan
çox olmasın.
Giriş verilənləri. Birinci
sətir iki tam ədədi ehtiva edir: k və w (1 ≤ k ≤ 15, 1 ≤ w ≤ 30). İkinci sətir
altı tam ədədi ehtiva edir: a1,
b1, a2, b2,
a3, b3 (1 ≤ a1,
a2, a3 ≤ 10, 1 ≤ b1, b2,
b3 ≤ 15).
Çıxış verilənləri. Göstərilən
şəkildə çadırları seçmək
mümkün olarsa, YES, əks halda isə NO verin.
10 10
5 5 6 6 4 5
Alqoritmin reallaşdırılması
sadə
məsələ - şərt operatoru
Belə ki,
çadırların sayı üçdür, ona
görə də şagirdlərin çadırlarda yerləşdirilməsinin
bütün mümkün variantlarına baxmaq olar. Yəni,
şagirdləri növbəti şəkildə
yerləşdirmə hallarına baxmaq olar:
·
yalnız birinci çadırda;
·
yalnız ikinci çadırda;
·
yalnız üçüncü çadırda;
·
yalnız birinci və ikinci çadırda;
·
yalnız birinci və üçüncü
çadırda;
·
yalnız ikinci və üçüncü
çadırda;
·
hər üç cadırda.
Bütün
göstərilən variantlara yeddi şərt operatoru ilə
baxmaq olar. flag dəyişkənini elan edək, onun
başlanğıc qiymətini 0 verək (0 qiyməti bütün
şagirdlərin çadırlarda yerləşdirilməsinin mümkün
olmadığını ifadə edir). Daha sonra verilmiş
hər bir yeddi yerləşdirmənin
mümkünlüyünü yoxlayaq.
Məsələn, bütün
şagirdlərin yalnız ikinci çadırda
yerləşdirilməsi şərti növbəti
şəkildə olacaq:
if ((b2 >= k) &&
(a2 <= w)) flag = 1;
Bütün
şagirdlərin yalnız birinci və üçüncü
çadırda yerləşdirilməsi şərti
növbəti şəkildə olacaq:
if ((b1 + b3 >= k)
&& (a1 + a3 <= w)) flag = 1;
Bütün
yeddi şərti yoxladıqdan sonra flag dəyişkəninin
qiymətindən asılı olaraq cavabı vermək
lazımdır.
Alqoritmin reallaşdırılması
Şagirdlərin çadırlarda
yerləşdirilməsinin bütün mümkün
variantlarının seçilməsini reallaşdıraq.
scanf("%d %d",&k,&w);
scanf("%d %d %d %d %d %d",&a1,&b1,&a2,&b2,&a3,&b3);
if ((b1 >= k) && (a1 <= w)) flag = 1;
if ((b2 >= k) && (a2 <= w)) flag = 1;
if ((b3 >= k) && (a3 <= w)) flag = 1;
if ((b1 + b2 >= k) && (a1 + a2 <= w)) flag = 1;
if ((b1 + b3 >= k) && (a1 + a3 <= w)) flag = 1;
if ((b2 + b3 >= k) && (a2 + a3 <= w)) flag = 1;
if ((b1 + b2 + b3 >= k) && (a1 + a2 + a3 <= w))
flag = 1;
if (flag) printf("YES\n"); else
printf("NO\n");