Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
Problem hidden on 2013-04-22 13:56:25 by SÅ‚awomir Wernikowski
WIPING02 - Usuwanie tabulatorów |
Zadanie eliminacyjne w konkursie PING 2013 organizowanym przez
Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie
Usuwanie tabulatorów
Tabulatorem bywa nazywany znak, który w kodzie ASCII zapisywany jest bajtem o kodzie 9 (0x9). W językach wywodzących się z „C” znak ten ma swoje własne oznaczenie zapisywane jako \t.
Dla potrzeb naszego zadania (i niekoniecznie w zgodzie z faktycznym zachowaniem większości edytorów tekstowych) pojawienie się tego znaku w strumieniu tekstu jest uwidacznianie jako ciąg spacji, które odsuwają w prawo następujący po tabulatorze znak do najbliższej, położonej na prawo od znaku tabulatora, kolumny, której numer jest wielokrotnością pewnej wartości nazywanej konikiem tabulacji. Ważne jest założenie, że kolumny numerowane są od 1.
Jeśli na potrzeby objaśnienia zadania przyjmiemy, że konik ma wartość 8, tabulator widziany jest jako znak → (co oczywiście nie jest prawdą), a spacja pojawia się jako znak ̺ (co również nie jest prawdą), to tekst o postaci:
a→b→c
powinien zostać uwidoczniony jako
a ̺ ̺ ̺ ̺ ̺ ̺ b ̺ ̺ ̺ ̺ ̺ ̺ ̺ c
Twoim zadaniem będzie napisanie programu, który znając wielkość konika będzie usuwać tabulatory z podanego mu wiersza tekstu i zastępować je odpowiednią liczbą spacji.
Wejście
Jeden wiersz tekstu zawierający liczbę całkowitą określającą szerokość konika tabulatora t (0 < t < 1000) i natychmiast po nim jeden wiersz tekstu o długości nie przekraczającej 1000 znaków, zawierający dowolną liczbę tabulatorów wymieszanych z dowolnymi widocznymi znakami ASCII.
Wyjście
Jeden wiersz tekstu, w którym każdy z tabulatorów zastąpiono odpowiadającym mu ciągiem spacji.
Przykład
Wejście:
3
a→bcd→e
Wyjście:
a ̺ bcd ̺ ̺ ̺ e
Uwaga!
Ta postać danych prezentowana jest tylko w celu demonstracji. W rzeczywistych danych pojawiać się będzie prawdziwy znak tabulacji, a w wyprowadzanych wynikach mają się znajdować prawdziwe spacje.
Informacje dodatkowe
-
na wejściu pojawi się 10 zestawów danych
-
każde poprawne rozwiązanie daje 10% punktacji zadania
-
zadanie ma wartość punktową 4,0
Dodane przez: | Sławomir Wernikowski |
Data dodania: | 2012-11-19 |
Limit czasu wykonania programu: | 0.200s |
Limit długości kodu źródłowego | 5000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C CSHARP C++ 4.3.2 CPP C99 JAVA PAS-GPC PAS-FPC PERL PERL6 PHP |