W Bajtocji ostatnio źle się dzieje. Z ustaw znikają lub pojawiają się dodatkowe słowa, co stwarza duże zagrożenie dla bezpieczeństwa publicznego. Jako najlepszy programista Amatorcomu zostałeś poproszony o napisanie programu wyszukującego różnice między różnymi wersjami jednej ustawy - konkretnie chodzi o znalezienie słów, które występują w pierwszej wersji a nie występują w drugiej i na odwrót...
Uwagi techniczne: 1. piszemy we FreePascalu lub gcc (odpowiednio 1.0.10, 3.2.x) 2. program kompiluję pod Linuksem i686, więc można korzystać z asemblera w Pascalu i C 3. rozwiązania w postaci pojedynczych plików źródłowych wysyłamy do: vogel[at]iglu[dot]cz
Oceniam pod względem:
- poprawności
- szybkości
- wielkości pliku temp
Wejście:
Na początku program zostanie uruchomiony z parametrem first, a na jego wejście zostanie przekazana treść pierwszej wersji ustawy.
./program first
Następnie program zostanie uruchomiony z parametrem second, a na jego wejście zostanie przekazana treść drugiej wersji ustawy.
Ustawy składają się ze znaków należących do zakresu #0..#255. Słowa składają się ze znaków a..zA..Z (duże i małe litery nie są rozróżnialne).
Wyjście
Program uruchomiony z parametrem first tworzy plik temp i do niego zapisuje dane. Program uruchomiony z parametrem second wypisuje na wejście:
- listę słów występujących w pierwszej wersji ustawy a nie występujących w drugiej wersji, w kolejności alfabetycznej, z pierwszą wielką literą i kolejnymi małymi, każde słowo w osobnej linii
- pustą linię
- listę słów występujących w drugiej wersji ustawy a nie występujących w pierwszej wersji, w kolejności alfabetycznej, z pierwszą wielką literą i kolejnymi małymi, każde słowo w osobnej linii
Przykład:
Pierwsza wersja ustawy:
W przypadku ąąą..asda::--- nie należy. kurde BELE
Druga wersja ustawy:
W w wwwwwwwwww przypadek kurDe BeLe aska.
Wyjście:
Asda
Nale
Nie
Przypadku
Y
Aska
Przypadek
Wwwwwwwwww
Wątek oczyszczony z powodu zbyt wysokiego poziomu offtopiczności.