В некоторой компьютерной игре вам необходимо убивать врагов, получая за это новые уровни Враги бывают двух видов: обычные и боссы Чтобы получить новый

В некоторой компьютерной игре вам необходимо убивать врагов, получая за это новые уровни Враги бывают двух видов: обычные и боссы Чтобы получить новый

  • S = "EBEEEEEBEEEBEEEEBEEEEEEEBBEEEEEEBBEBEEBBEBBEBEEEEBBBBEEBEEEEEEEBEEBBBEEBBBEEEEBBEEBEEEEBBEBBBBEBEBEE"
    level = 0
    score = 0
    for i in 0..s.size
    if si=="E"
    score+=1
    end

    if si=="B" or score == 2
    score = 0
    level += 1
    end
    end
    p level

    ответ 63

  • // PascalABC.NET 3.1, сборка 1204 от 24.03.2016
    begin
    var lvl:=0;
    var s:= EBEEEEEBEEEBEEEEBEEEEEEEBBEEEEEEBBEBEEBBEBBEBEEEEBBBBEEBEEEEEEEBEEBBBEEBBBEEEEBBEEBEEEEBBEBBBBEBEBEE;
    var predE:=false;
    foreach var c in s do
    if c=E then begin
    if predE then begin predE:=false; lvl+=1 end
    else predE:=true
    end
    else
    if c=B then begin predE:=false; lvl+=1 end;
    Writeln(lvl, level)
    end.

    Результат выполнения программы
    63 level

    И второй вариант, "как не учат в школе":

    // PascalABC.NET 3.1, сборка 1204 от 24.03.2016
    begin
    var s:= EBEEEEEBEEEBEEEEBEEEEEEEBBEEEEEEBBEBEEBBEBBEBEEEEBBBBEEBEEEEEEEBEEBBBEEBBBEEEEBBEEBEEEEBBEBBBBEBEBEE;
    Writeln(Regex.Matches(s,EEBB).Count, Level)
    end.

    Результат выполнения аналогичный.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

67 − = 66

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: