-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "bartekLTG" <b...@o...ciach.pl>
Newsgroups: pl.comp.programming
Subject: Re: Zamknięta pętla
Date: Sat, 24 Jan 2009 06:49:27 +0100
Organization: FUW/MIMUW
Lines: 63
Message-ID: <glea5a$rai$1@news.onet.pl>
References: <gl7hpe$iju$1@mx1.internetia.pl>
Reply-To: "bartekLTG" <b...@o...ciach.pl>
NNTP-Posting-Host: 188-mi2-2.acn.waw.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1232776170 27986 82.210.189.188 (24 Jan 2009 05:49:30 GMT)
X-Complaints-To: a...@o...pl
NNTP-Posting-Date: Sat, 24 Jan 2009 05:49:30 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Antivirus: avast! (VPS 080713-0, 2008-07-13), Outbound message
X-Antivirus-Status: Clean
Xref: news-archive.icm.edu.pl pl.comp.programming:180816
[ ukryj nagłówki ]Tomasz Kiełpiński wrote:
> Witam,
>
> Przejrzałem archiwum grupy, pogooglałem, ale wszystko wskazuje na to
> że googlać nie umiem, bo nie wierzę żeby podobny temat nie był
> poruszany :)
> Szukam algorytmu albo wręcz metody matematycznej (mam cały czas
> nieodparte wrażenie, że problem da się rozwiązać na poziomie
> pierwszej klasy liceum) na sprawdzenie zamkniętej pętli. Chodzi o
> jeden z elementów progamu rozwiązującego łamigłówki SlitherLink
> (znane również jako Fences lub Pokropek)
>
> Mam daną tablicę dwuwymiarową, zawierającą informacje o każdym
> kwadraciku. Wymiary x,y określają położenie kwadracika na
> płaszczyźnie, natomiast w wartości zakodowane jest położenie kwadratu
> względem pętli (na zewnątrz lub wewnątrz) i stan każdego z jego boków
> (Jedna z trzech wartości: jest/nie ma/nie jest oznaczone)
>
> Jak sprawdzić/policzyć czy np. narysowanie górnej krawędzi w
> kwadraciku na pozycji 1,1 spowoduje domknięcie pętli.
Punkty siatki sa weirzcholkami grafu, oznaczone na 'tak'
kreski są krawedziemi grafu.
Zalozmy, ze dorysowujesz krawedz miedzy wierzcholkami
a i b ( (n,m) --- [(n+1,m) lub (n,m+1)] )
Kiedy zamykami petle? Wtedy, gdy _przed_ dodaniem
naszej krawedzi istnieje polaczenie miedzy a i b.
Wystarczy wiec, ze sprawdzisz, czy istnieje polaczenie
miedzy a i b. Jest to dosc czesto spotykane zagadnienie;)
Algorytm nazywa sie 'przeszukiwanie drzewa w szerz'
(Breadth-first search, w skrócie BFS) jest dobrze
opisany w ksiezkach i sieci. Dlaczego 'w szerz' a nie
'w glab'? ze wzgledu na pesymistyczna ilosc operacji.
Jesli najkrotsza sciazka ma dlugosc L, to odwiedzisz
nie wiecej niz max(4L^2,M) a M to liczba wierzcholkow
do ktorych mozesz dojsc;)
Algorytm zybszy i prostrzy w implementacji niz proponowana
obok Dijkstra, potrzebujesz jedynie kolejki fifo, czyli
zwyklej listy.
Bieresz element z kolejki i wrzucasz do kolejki
wszyskich sasiadow (wierzcholki, do ktorych masz bezposrednie
polaczenie krawedzią 'tak'), przy okazji sprawdzajac,
czy to nie jest nasz cel i czy nie byl 'odhaczony' (tych
nie wrzucasz). Wrzucane wierzcholki zaznaczamy jako 'odhaczone'
W pierwszym kroku wrzucasz do kolejki wierzcholek startowy.
BTW, Mozna to jeszcze zbic (do 2L^/2) idac na zmiane jedno
pietro z wierzcholka 'a' - jedno pietro z wierzcholka 'b'
i czekac na spotkanie, ale algorytm robi sie ciut bardziej
skomplikowany.
pzodrawiam
bartekltg
Następne wpisy z tego wątku
- 29.01.09 10:42 Tomasz Kiełpiński
Najnowsze wątki z tej grupy
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
Najnowsze wątki
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Pieniadze-cuchna-oddechem-nawalonego-tatusia
- 2025-12-31 Iran na skraju gospodarczego upadku. Na ulicach Teheranu (znów) wrze. To może być cios dla reżimu
- 2025-12-30 zasilacz
- 2025-12-30 Teraz System Plików PFS z sys. op. Amiga OS będziesz mógł zamontować pod sys. op. Linuks i Jabłoko Makintosz
- 2025-12-30 Aeor2 i ciągły internet 512kb




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]