Решение задачи Магниты с Codeforces

С пояснением   Просмотров: 336


Безумный ученый Майк развлекается, составляя ряды домино. В качестве домино Майк использует прямоугольные магниты с полюсами «плюс» и «минус». Если друг к другу приблизить два магнита, то одноименные полюса отталкиваются, а разноименные полюса притягиваются.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s, temp;
    int n, k = 0;
    cin >> n;
    for(int i = 0; i < n; ++i){
        cin >> temp;
        s+=temp;
    }
    int pos = s.find("11");
    while(pos + 1){
        ++k;
        pos = s.find("11", pos + 1);
    }
    pos = s.find("00");
    while(pos + 1){
        ++k;
        pos = s.find("00", pos + 1);
    }
    cout << k + 1;
    return 0;
}

         

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


По определению каждый островок состоит из последовательных одинаково направленных домино. Значит, в местах, где соседние домино направлены не одинаково, кончается один островок и начинается следующий. Значит, если таких мест x, то ответ равен x + 1.



Комментарии

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