ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 2023. Дональд-почтальон

WA8 c++. Help please
Послано BUTKO_VNU 17 ноя 2015 11:26
#include <iostream>

using namespace std;

int main()
{
    char first[4] = { 'A', 'P', 'O', 'R' };
    char second[3] = { 'B', 'M', 'S'};
    int mail = 0;
    bool  AF=false;//already find
    char *input=new char[200];
    int steps=0,duck=1;
    cin >> mail;
    for (int i = 0; i < mail; i++)
    {
        cin >> input;
        for (int j = 0; j < 4;j++)
        {
            if (input[0] == first[j]&&!AF)
            {
                AF = true;
                if (duck == 1)break;
                if (duck == 2)steps++;
                if (duck == 3)steps += 2;
                duck = 1;
                break;
            }
        }
        if (!AF){
            for (int j = 0; j < 3; j++)
            {
                if (input[0] == second[j] && !AF)
                {
                    AF = true;
                    if (duck == 2)break;
                    else steps++;
                    duck = 2;
                    break;
                }
            }
        }
        if (!AF)
        {
            AF = true;
            if (duck == 3)break;
            if (duck == 2)steps++;
            if (duck == 1)steps += 2;
            duck = 3;
        }
            AF = false;

    }
    cout << steps;
    return 0;
}

Edited by author 17.11.2015 11:26
I found a solution to my problem was laziness. When I described the search for the third block - the answer was accepted as correct. Apparently in the verification test on the 8th provide those names are not on the shelves.

Edited by author 17.11.2015 11:35