Решение задачи "Дональд-почтальон " с Acmp

Без пояснения   Просмотров: 25


Дональд Дак работает почтальоном в студии Диснея, доставляя письма детей со всего мира своим друзьям – героям мультфильмов. В студии есть три шкафа для писем, в каждом из которых девять секций. Все секции подписаны именами адресатов. Шкафы стоят в ряд так, как показано на рисунке:


Сегодня Дональд принес N писем. Исходно он стоит у самого левого шкафа, и для перехода к соседнему шкафу ему нужно сделать один шаг. Сколько шагов он сделает, пока не разложит все письма, если будет раскладывать их в том порядке, в котором они лежат в стопке?

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
   int n, s = 0;
   string b;
  /* vector<string> a1;
   vector<string> a2;
   vector<string> a3;
   */cin >> n;
   int pos = 1;
   for(int i = 0; i < n; ++i){
        cin >> b;
    if(b[0] =='A'||b[0]=='P'||b[0]=='O'||b[0]=='R'){
        s+=abs(pos - 1);
        pos = 1;
    }
     else
        if(b[0] =='B'||b[0]=='M'||b[0]=='O'||b[0]=='S'){
            s+=abs(pos - 2);
            pos = 2;
        }
     else{
        s+=abs(pos - 3);
        pos = 3;
        }
   }
   /*a1.push_back("A");       a2.push_back("B");
   a1.push_back("P");       a2.push_back("M");
   a1.push_back("O");       a2.push_back("S");
   a1.push_back("R");
 
   a3.push_back("D");        a3.push_back("J");
   a3.push_back("K");        a3.push_back("G");
   a3.push_back("T");        a3.push_back("W");
*/
    cout << s;
   return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться