printРабочее место участника

printЗадачи

2092. Мощь вампира

Ограничения: время – 2s/4s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Джейкоб думает очень громко.
              Эдвард
Все вампиры обладают уникальной способностью читать мысли, и Эдвард очень часто пользовался ей для защиты своей жены Беллы Свон. Поэтому, когда на нее напали несколько вампиров клана Вольтури, он тут же решил прочитать их мысли, дабы узнать мощь каждого напавшего вампира.
Но каждый вампир этого клана обладает ментальным щитом, поэтому узнать мощь отдельного вампира невозможно. Эдвард может лишь узнать сумму всех чисел, выражающих их мощь, но при этом он может брать каждое число с нужным ему знаком (плюс или минус).
Эдварду срочно необходима ваша помощь, иначе Беллу съедят вампиры из клана Вольтури.
Вы должны написать подпрограмму solve на языке C или C++:
    void solve(int n, int ans[]);
Первый параметр – число `n` (`1\ ≤\ n\ ≤\ 100`), во втором параметре подпрограмма должна вернуть мощь каждого вампира.
Для получения суммы подпрограмма дожна вызывать функцию power:
    int power(char test[])
В качестве параметра передается массив из `n` символов + и - (с каким знаком мощь вампира должна входить в сумму). Мощь вампира может принимать значения от –100 до 100.
Вы можете вызвать эту функцию не более `n` раз и после вычислений вернуть ответ в массиве ans.
Пример подпрограммы (выдает правильный результат только в случае, если у всех вампиров одинаковая мощь).
void solve(int n,int ans[])
{
  char test[100];
  for(int i=0;i<n;++i)
    test[i]='+';
  int s=power(test);
  for(int i=0;i<n;++i)
    ans[i]=s/n;
}
Источник: neerc.ifmo.ru/school
loading