C++
Недавно была перехвачена переписка Ильи с Илоной. Из нее были удалены все символы, кроме смайлов:
• :( -1
• :) +1
• :-D +2
• :’-( -2
Каждый смайл соответственно означает увеличение или понижение настроения на 1 или 2 пункта. Если настроение становится отрицательным, то у Ильи случается припадок. Если настроение поднимается выше 100, то Илья в конце разговора будет очень счастлив, не смотря на его настроение в конце разговора (разумеется, если он не упадет в обморок).
Ваша задача – по данной переписке и известному настроению Ильи вначале разговора определить его настроение после беседы.
Входные данные
Следует перехваченная переписка без лишних символов. Длина строки не более 225 символов.
Далее в конце строки через пробел натуральное число N – настроение вначале разговора (N < 100).
Выходные данные
Если во время разговора Илья упал в обморок, то выведите “BAD”. В противном случае выведите “GOOD” (либо “VERY GOOD”, если он очень счастлив), а далее через пробел настроение после разговора.
Пример
Вход Выход
:):):):) 1 GOOD 5
:-D:(:(:(:):'-( 1 BAD
:):) 99 VERY GOOD 101
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer;
b:array [1..10] of longint;
c:integer;
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n);
max:=0;
for i:=1 to 10 do
b[i]:=0;
for i:=1 to n do begin
a[i]:=random(10)+1;
write(a[i],' ');
b[a[i]]:=b[a[i]]+1
end;
for i:=1 to 10 do if b[i]>max then
begin
c:=i;
max:=b[i]
end;
writeln;
writeln('Чаще всего в массиве встречается число ',c)
end.
2^3 < 10, 3^3 > 20
2) Если x(x+1) > 10, то (x+1)(x+2) < 10. Это верно при x = -4
(-4)(-3) = 12 > 10; (-3)(-2) = 6 < 10
Но при x = 2 будет ложная посылка (2*3 > 10 - это ложно),
из которой следует ложный вывод 3*4 < 10.
Поэтому импликация верна. ответ x = 2
3) Если x(x+1)(x+2) > 25, то x < x-1
Это сложнее. x < x-1 - ложно при любом х.
Импликация будет истинной, только если посылка ложная.
x(x+1)(x+2) > 25 - должно быть ложно. Это при x = 2.
x(x+1)(x+2) = 2*3*4 = 24.