0 / 0 / 0
Регистрация: 21.09.2017
Сообщений: 13
1

Задача "Зайчики" не проходит тест

13.11.2017, 23:26. Показов 2768. Ответов 0
Метки нет (Все метки)

Не проходит 36 тест, хотя при собственной проверке, выдает все правильно. Не могу понять: в каком случае ошибка? Помогите пожалуйста найти ошибку

Задача: Зайчики
Зайчик прыгает по прямой просеке, для удобства разделённой на n клеток. Клетки пронумерованы по порядку натуральными числами от 1 до n. Некоторые клетки заболочены: если зайчик прыгнет на такую клетку, ему несдобровать. Некоторые другие клетки просеки поросли вкусной зелёной травой: прыгнув на такую клетку, зайчик сможет отдохнуть и подкрепиться.
Зайчик начинает свой путь из клетки с номером 1 и хочет попасть с номером n, по пути ни разу не провалившись в болото и скушав как можно больше вкусной зелёной травы. Конструктивные особенности зайчика таковы, что из клетки с номером k: он может прыгнуть лишь в клетки с номерами k+1, k+3, k+5.
Выясните, какое максимальное количество клеток с травой сможет посетить зайчик на своём пути.
Формат входных данных.
В первой строке входного файла задано число n - количество клеток (2 <= n <= 1000). Вторая строка состоит из n символов; i-ый символ соответствует i-ой клетке просеке. Символ 'w' обозначает болото, символ '"' - зеленую траву, а символ '.' соответствует клетке без каких-либо особенностей. Гарантируется, что первая и последняя клетки не содержат болот и травы.
Формат выходных данных.
В первой строке выходного файла выведите одно число - максимальное количество клеток с травой, которые щайчик сможет посетить на своём пути. Если зайчику не удастся оказаться в клетке с номером n, выведите -1.
Примеры
in
4
."".
out
2

in
5
.w"..
out
0

in
9
.www.www.
out
-1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    freopen("lepus.in", "r", stdin);
    freopen("lepus.out", "w", stdout);
    char a[1000];
    int b[1000], c[1000];
    long long n;
    cin >> n;
    for (int i = 0; i<n; ++i)
        cin >> a[i];
    for (int i = 0; i<n; ++i)
        if(a[i] == '"')
            b[i] = 1;
        else
            if(a[i] == '.')
                b[i] = 0;
            else
                b[i] = -1;
    c[0] = b[0];
    if ((b[1] == -1))
        c[1] = -1;
    else
        c[1] = b[1];
    if((c[1] == -1) || (b[2] == -1))
        c[2] = -1;
    else
        c[2] = c[1] + b[2];
    if((c[2] != -1) || (b[3] != -1))
        c[3] = max(b[3], c[2] + b[3]);
    else
        c[3] = -1;
    if((b[4] == - 1) || (max(c[3],c[1]) == -1))
        c[4] = -1;
    else
        c[4] = max(c[1] + b[4], c[3] + b[4]);
    if(b[5] == -1)
        c[5] = -1;
    else
        c[5] = max(max(c[4], c[2]), 0) + b[5];
    for(int i = 6; i<n; ++i)
    {
        if((b[i] != -1) && (max(max(b[i-1], b[i-3]), b[i-5]) != -1))
            c[i] = max(max(c[i-1], c[i-3]), c[i-5]) + b[i];
        else
            c[i] = -1;
    }
    cout << c[n-1] << endl;
    //for(int i = 0; i < n; ++i)
    //    cout << c[i] << " ";
    fclose(stdin);
    fclose(stdout);
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2017, 23:26
Ответы с готовыми решениями:

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt;...

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64"
доброго времени суток. Необработанное исключение в &quot;0x76f015de&quot; в &quot;контрольная 1 задача 2.exe&quot;:...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Форма для ответов на тест "да"или "нет"
Нужна помощь в написании формы, куда будут выводиться по одному вопросу из файла и нужно давать...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2017, 23:26

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую классы: − воин;...

Задача "замочная скважина" и "ключ" ошибка в коде
Почему-то не работает программа реализующая следующую задачу: Даны мозаичные изображения...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru