Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 3 ] 
[Rozwiązania/kod] - Runda 1 
Autor Wiadomość
Gwiazda 2Gwiazda 2

Dołączył(a): 30 lis 2010, o 16:01
Posty: 25
Post [Rozwiązania/kod] - Runda 1
Eurozwrotnica

http://ideone.com/5K85p

Zadanie rozwiązałem, symulując sytuację. Jeden tor służył jako 'poczekalnia', a przez drugi pociągi swobodnie przejeżdżały. Poprawność zadania opierała się na tym, iż symulacja przestaje być możliwa w momencie, gdy oba tory się 'zablokują', gdyż z żadnego nie może zjechać pociąg w odpowiedniej kolejności

Architektura niezależna

http://ideone.com/dufP2

Oznaczyłem wszystkie kropki z zewnątrz jako '@'. Później "wirusowo" sprawdzałem dla każdej '@', czy sąsiaduje z jakąś kropką i jeżeli tak, ją również zmieniałem na '@'.
Później odejmowałem od pola całości (n^2) liczbę '@'.

Pamięć doskonała

http://ideone.com/DfE6o

Zgodnie z równaniem

x+y = z
-x+y = t

gdzie y to liczba palindromu, x to pierwsza liczba antypalindromu a z i t odpowiadające sobie pozycje w wejściowym ciągu (tj. w symetrii wględem połowy słowa)

z+t = 2y
x = z - (z+t)/2
y = (z+t)/2

i z+t musi być parzyste aby rozkład był możliwy


17 kwi 2011, o 13:27
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 25 lut 2010, o 20:19
Posty: 69
Post Re: [Rozwiązania/kod] - Runda 1
Marek Bardoński napisał(a):
Eurozwrotnica

http://ideone.com/5K85p

Zadanie rozwiązałem, symulując sytuację. Jeden tor służył jako 'poczekalnia', a przez drugi pociągi swobodnie przejeżdżały. Poprawność zadania opierała się na tym, iż symulacja przestaje być możliwa w momencie, gdy oba tory się 'zablokują', gdyż z żadnego nie może zjechać pociąg w odpowiedniej kolejności


Dwie zmienne liczbowe, symulujące ostatni element "toru". Na początku każda ma wart. 0. Później co pociąg sprawdzamy, czy numer aktualnego jest większy od pierwszego lub drugiego "toru", jeśli tak - aktualizujemy ostatni element danego "toru". Jeśli jest mniejszy od obu - odp. = NIE. Po prostu da się tak przejechać jeśli dany ciąg można rozbić na dwa niemalejące ciągi z zachowaniem kolejności wyjściowej.

Kod: http://ideone.com/U5JLl


17 kwi 2011, o 14:08
Zobacz profil
Gwiazda 2Gwiazda 2

Dołączył(a): 11 paź 2010, o 17:26
Posty: 100
Post Re: [Rozwiązania/kod] - Runda 1
Eurozwrotnice mam tak jak Michał, z tym że trzeba pamiętać aby w miarę możliwości odkładać wszystko na 1 tor, nie 2gi. Np. dla danych
Kod:
2 3 4 5 1]

Jeśli 2 odłożymy na 1szy tor, a 3 na drugi to zablokujemy sobie możliwość dla 1dnki ;)

Architektura podobnie tyle że ściany liczyłem na wejściu, a potem od pierwszej kropki (która ma współrzędne o 1 większe od pierwszego hasha (#)) na wszystkie możliwe 8 kierunków spr. czy graniczy z kropką. Jeśli tak to zamieniałem tą, z którą graniczy w hasha i od niej rekurencyjnie spr. dalej ;)

Pamięć to samo tyle, że nie przewidziałem, że dzielenie modulo może być ujemne... :|


17 kwi 2011, o 14:18
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 3 ] 


Kto przegląda forum

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


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group. Forum style based on STSoftware Hestia.
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL