• Вопрос по информатике:



    СРОЧНО, ПОЖАЙЛУСТА
    (в паскале надо сделать)
    «Карусель»

    Карусель – одна из популярных форм проведения командных соревнований по решению задач.

    Всем командам, участвующим в карусели, предлагаются в строгом порядке одни и те же задачи, которые необходимо решить в установленное время. Система подсчета баллов такова, что доминирующим фактором является не количество решенных задач, а длины последовательностей правильных решений.

    Начисление баллов происходит согласно следующей схеме:

    первая задача стоит 3 балла;

    если к задаче дан верный ответ, то команда получает ее стоимость, а следующая задача будет стоить на 1 балл больше;

    если на задачу дан неверный ответ, то команда получает за решение 0 баллов, а следующая задача будет стоить на 3 балла меньше, но не менее 3 баллов.

    Вам требуется написать программу, которая по результатам ответов команды определит итоговый балл.

    Первая строка входных данных содержит натуральное число N – количество задач в карусели (N ≤ 105). Во второй строке расположены N цифр 0 или 1, разделенные пробелом; i-я цифра соответствует корректности ответа команды на i-ю задачу (0 – неверный ответ, 1 – верный ответ).

    • Автор:

      shnookie
  • program raf105;

    var

     s,s2: string;

     i,j,n,price,points: integer;

    begin

    write('Количество задач в карусели: ');

    readln(n);

    write('Ответы команды: ');

    readln(s);

    for i:=1 to length(s) do

     if s[i]<>' '

       then s2:= s2 + s[i];

    price:= 3;

    for i:=1 to length(s2) do

    begin

     if s2[i]='1'

       then begin

         points:= points + price;

         price:= price + 1;

       end

       else for j:=1 to 3 do

         if price > 3

           then price:= price-1;

    end;

    writeln('Итоговый балл: ',points);

    end.

    PascalABC 3.4.2
    • Отвечал:

      gibsongoodman

    Ответов нет, но ты это испарвиш!

Еще 4 ненужных тебе вопроса, но это важно для поиска