2 хлопчика 2 солдата на першому березі
два хлопчика пливуть на інший берег0 хлопчиків 2 солдата на першому березі // 2 хл. 0 с.
один хлопчик повертає лодку1 хлопчик 2 солдата на першому березі // 1 хл. 0 с.
один солдат переправляється на інший берег1 хлопчик 1 солдат на першому березі // 1 хд. 1 с.
хлопчик з іншого берега повертається назад2 хлопчика 1 солдат на першому березі // 0 хл. 1 с.
два хлопчика переправляються на інший берег0 хлопчиків 1 солдат на першому березі // 2 хл. 1 с.
один хлопчик повертається1 хлопчик 1 солдат на першому березі // 1 хл. 1с.
другий солдат переправляється через ріку1 хлопчика 0 солдат на першому березі // 1 хл. 2 с.
другий хлопчик повертається до першого2 хлопчика 0 солдат на першому березі // 0 хл. 2 с
Тепер два солдата на іншому березі, двоє хлопчиків залишились у човні і можуть переправлятися куди завгодноc++
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d, e;
cin >> a >> b >> c >> d >> e;
if (a <= d and b <= e or a <= e and b <= d) {
cout << "YES";
}
else if (c <= d and b <= e or c <= e and b <= d) {
cout << "YES";
}
else if (c <= d and a <= e or c <= e and a <= d) {
cout << "YES";
}
else {
cout << "NO";
}
return 0;
}
python
a = int(input())
b = int(input())
c = int(input())
d = int(input())
e = int(input())
if a <= d and b <= e or a <= e and b <= d:
print("YES")
elif c <= d and b <= e or c <= e and b <= d:
print("YES")
elif c <= d and a <= e or c <= e and a <= d:
print("YES")
else:
print("NO")
Объяснение:
a, b, n, i: integer;
begin
readln(a, b);
for i := a to b do
begin
n := i;
write(n);
while n <> 1 do
begin
if (n mod 2) = 0 then
n := n div 2
else
n := (3 * n + 1) div 2;
write(' -> ', n);
end;
writeln;
end;
end.
чесно передрано с некого сайта и доработано под задачу