Platyna Opublikowano 11 Czerwca 2009 Opublikowano 11 Czerwca 2009 Otóż mam sobie następujące zadanko http://icpcres.ecs.baylor.edu/onlinejudge/.../105/10594.html Jak można przeczytać, input kończy się gdy natkniemy się na EOF No więc całe rozwiązanie mam w nieskończonej pętli while(1). No i teraz jak i kiedy sprawdzać czy nie nastąpił EOF, żeby wtedy dać breaka? I tak, żeby się nie żarło z innymi scanfami czyli na przykład żeby mi w poszukiwaniu EOFa nie przeczytało n. Bo wtedy już ten scanf co ma wczytać n nie zobaczy go (bo zostało wcześniej przeczytane) i wczyta m myśląc że to n. Trochę pogmatwałem to, ale myślę że zrozumiecie :P
PsichiX Opublikowano 11 Czerwca 2009 Opublikowano 11 Czerwca 2009 bo sie to robi tak: while(!EOF(file)) a nie tak: while(1) :P
Platyna Opublikowano 11 Czerwca 2009 Autor Opublikowano 11 Czerwca 2009 Fizyks, ale to jest chyba jak wczytuje dane z pliku. A tutaj w tym zadanku dane są normalnie wstukiwane do konsoli :P Zresztą przeczytaj sobie, bo może ja źle zrozumiałem jak ten input jest.
Administratorzy gnysek Opublikowano 11 Czerwca 2009 Administratorzy Opublikowano 11 Czerwca 2009 Z konsoli EOF to chyba się tylko za pomocą ctrl+D dało nie ? z tego co pamiętam to było tak: z = getchar(); while (z != EOF) { z = getchar(); }
Platyna Opublikowano 11 Czerwca 2009 Autor Opublikowano 11 Czerwca 2009 Dupa. Cały czas mam Time limit exceeded. Wydawało mi się, że to dlatego, że źle tego EOFa wczytuje i program się nigdy nie kończy, ale może jednak rozwiązanie jest be. Chociaż wydaje mi się, że max flow-min cost z Fordem-Bellmanem powinien wystarczyć :/ Znacie jakiś lepszy algorytm na znajdywanie najkrótszej drogi z ujemnymi krawędziami niż Ford-Bellman?
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się