Potrzebna pomoc!!!

Własne projekty oraz implementacje.

Moderator: xxSlayeRxx

Potrzebna pomoc!!!

Sponsor

Sponsor
 

Potrzebna pomoc!!!

Postprzez dzielski14 » Wt paź 23, 2012 8:29 am

Mam problem. Dostałam na zadanie domowe do napisanie program z olimpiady informatycznej tylko ze nie wiem jak się za to zabrać, i wogóle tego nie rozumiem. Prosze o pomoc. Oto treść zadania:
Zadanie: USU
Usuwanka
XX OI, etap I. Plik źródłowy usu.* Dostępna pamięć: 64 MB.
15.10–12.11.2012
Mała Bajtosia dostała w prezencie grę o nazwie Usuwanka. W tej grze dany jest ciąg n przylegających do
siebie klocków, ponumerowanych kolejno od 1 do n. Każdy klocek jest albo biały, albo czarny, przy czym
białych klocków jest k razy więcej niż czarnych. Gra jest jednoosobowa. Celem gry jest usunięcie, za pomocą
określonych ruchów, wszystkich klocków z ciągu.
Pojedynczy ruch polega na usunięciu dokładnie k białych i jednego czarnego klocka bez zmiany pozycji
pozostałych klocków. Ruch jest dozwolony, jeśli między żadnymi dwoma usuwanymi w tym ruchu klockami nie
ma „dziury”, czyli pustego miejsca po uprzednio usuniętym klocku.
Pomóż Bajtosi, ona tak bardzo Cię prosi. . . Znajdź dowolny ciąg dozwolonych ruchów prowadzący do usu-
nięcia wszystkich klocków.
Wejście
W pierwszym wierszu standardowego wejścia znajdują się dwie liczby całkowite n oraz k (2 n 1 000 000,
1
k
n − 1), oddzielone pojedynczym odstępem, oznaczające liczbę klocków w grze oraz liczbę białych
klocków, które należy usunąć w każdym ruchu. We wszystkich testach zachodzi warunek k + 1 | n.
W drugim wierszu znajduje się napis złożony z n liter b oraz c. Kolejne litery napisu określają kolor
kolejnych klocków: b – biały, c – czarny. Możesz założyć, że dla danych testowych istnieje szukany ciąg ruchów
prowadzący do usunięcia wszystkich klocków.
W testach wartych łącznie 40% punktów zachodzi dodatkowy warunek n 10 000.
Wyjście
n
Twój program powinien wypisać na standardowe wyjście k+1 wierszy. Kolejne wiersze powinny opisywać
kolejne ruchy. Każdy z tych wierszy powinien zawierać k + 1 liczb, podanych w kolejności rosnącej oraz
rozdzielonych pojedynczymi odstępami, oznaczających numery klocków, które należy usunąć w danym ruchu.
Przykład
jednym z poprawnych wyników jest:
1 8 12
2 6 7
3 4 5
9 10 11
Dla danych wejściowych:
12 2
ccbcbbbbbbcb
dzielski14
New member
 
Posty: 1
Dołączył(a): Wt paź 23, 2012 8:23 am

Re: Potrzebna pomoc!!!

Postprzez Pawel85 » Wt paź 23, 2012 5:48 pm

Napisz może co już masz a czego nie rozumiesz.
Piszę programy na zlecenie (C#,MSSQL), kontakt: zlecenia@ymail.com
Avatar użytkownika
Pawel85
Member
 
Posty: 101
Dołączył(a): Pn sty 18, 2010 12:41 pm

Re: Potrzebna pomoc!!!

Sponsors

Sponsor
 


Powrót do Projekty i kody źródłowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość