Łańcuch zero-jedynkowy – pomoc w rozwiązaniu zadania

0

pomoze ktos jak to ogarnac

Na pewien łańcuch nawleczono ogniwa w kształcie zer i jedynek, to taka "binarna" ozdoba i to jeszcze wszystkie ogniwa położono w linii prostej, oddalone co 1 milimetr od siebie. Twoim zadaniem jest znaleźć jedynkę najbardziej oddaloną od zera i podać odległość pomiędzy nimi.

Wejście
Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą (), oznaczającą liczbę ogniw w łańcuchu. Kolejny wiersz zawiera ciąg liczb całkowitych , gdzie oznacza rodzaj -tego ogniwa: 0 - oznacza jak wiadomo ogniwo o kształcie 0, 1 - oznacza ogniwo o kształcie jedynki. Można założyć, że łańcuch składa się co najmniej z jednej jedynki i co najmniej jednego zera.

Wyjście
Pierwszy i jedyny wiersz wyjścia powinien zawierać jedną liczbę całkowitą, równą maksymalnej odległości pomiędzy zerem a jedynką.

Przykład
Dla danych wejściowych:

5
0 1 1 0 0

poprawną odpowiedzią jest:

3v
#include <iostream>

using namespace std;

int main()
{
  int a,n,t=0,b=0;
  cin>>a;
 for(int i=0;i<a;i++)
  {
      cin>>n;
      if(n==1)
      {
         t=t+1;

      }
      if(n==0)
      {
          b=b+1;

      }
  }
  if(b>t)
  {
      cout<<b;
  }
else
{
    cout<<t;
}

}

to jest jedyne co mam ale nie potrafie zrobic cos w stylu zeby liczylo mi od pierwszego zera od lewej do pierwszej 1 od prawej

0

Użyj w edytorze postu tego przycisku </> aby sformatować kod źródłowy, bo na razie nie idzie tego rozczytać.

Co zaś do rozwiązania, to po pierwsze masz nieprawidłowe zachowywanie danych wejściowych. Sugeruję zapoznać się z std::vector, albo tablicami w C++
Jak będziesz miał już dane upakowane,to przyuważ co następuje:
Jedynka najdalej może znaleźć się od zera kiedy 1 lub 0 jest na początku łańcucha, a przeciwna wartość na końcu.
Zatem pierwsza wskazówka do algorytmu - trzeba przeszukać tablicę zaczynając od lewej strony, i odnaleźć pierwsze wystąpienie 1, po czym zapamiętać pozycję tego wystąpienia.Następnie zaczynając przeszukiwanie od końca łańcucha do początku szukaj pierwszego wystąpienia 0. (Jest w tym szkicu pewna pułapka, znajdź ją ;])
Bądź świadom sytuacji w stylu 0 0 0 0 1 1 1 1 1 - ale tutaj to już tobie zostawiam pole do wykazania się.

0

masz nieprawidłowe zachowywanie danych wejściowych

tu nie trzeba ich zachowywac (pierwsze od konca to ostatnie od poczatku)

1 użytkowników online, w tym zalogowanych: 0, gości: 1