(Джерело: http://www.olymp.vinnica.ua/index_ua.php?lng=ua&cid=115)
Задача. Ведмедик Вінні-Пух тікає від бджіл по алеї, яка складається із товстих дерев, яких N (1<=N<=300). Кожне дерево має дупло певного діаметра D (D>=0). Якщо діаметр дупла більший за діаметр черевця Вінні-Пуха, то ведмедик може заховатись в цьому дуплі. Діаметр черевця Вінні-Пуха – V (V>0). У якому першому за рахунком дереві він може заховатись? Скільки на алеї росте дерев, де може заховатись Вінні-Пух?
Технічні умови. Програма Puh читає з клавіатури послідовність цілих чисел одним рядком через пропуск: N, V, D1, D2 , ..., DN. Програма виводить на екран шукані велечини в указаній в умові послідовності. Якщо заховатися неможливо, програма виводить 0.
Приклади.
Введення: 10 5 1 0 4 8 10 2 0 1 9 0
Виведення: 1 4 3
Введення: 2 6 3 4
Виведення: 0
Розв'язання.
Будемо зчитувати діаметр чергового дерева та перевірятимемо чи може в ньому заховатися Вінні-Пух.Запишемо алгоритми мовами програмування.
Free Pascal:
Var N, V,
D, I, K : Integer;
Flag : Boolean;
Begin
Read (N, V);
K := 0;
Flag := True;
For I := 1 To N Do Begin
Read (D);
If V < D
Then Begin
If Flag
Then Begin
Write ('1 ', I, ' ');
Flag := False;
End;
Inc (K);
End;
End;
Write (K);
End.
C++:
#include <iostream>
using namespace std;
int main(){
int n, v, d, k=0;
cin >> n >> v;
bool f=true;
for (int i=1; i<=n; i++) {
cin >> d;
if (v < d) {
if (f) {
cout << "1 " << i << ' ';
f=false;
}
k++;
}
}
cout << k;
}
Немає коментарів:
Дописати коментар