6 / 32
Mar 2018

Może mi ktoś powiedzieć w jaki sposób zrobić tablice by SPOJ zaakceptował "puste" pola w niej. Próbowałem dynamicznie ale mi nie wychodzi.
http://ideone.com/ZMCbrb20
Chyba że zrobiłem gdzieś indziej błąd myślowy to proszę o każdą radę.

  • created

    Mar '16
  • last reply

    Feb '20
  • 31

    replies

  • 2.6k

    views

  • 11

    users

  • 5

    likes

  • 11

    links

Nie w tym miejscu while (t--)
http://ideone.com/ctVKTO17

PS
Twoim sposobem, nawet po poprawieniu błędów dostaniesz 200% tle [przekrocznie limitu czasu]
A następny błąd masz dla takich testów:
10 10 10
10 1
10 2
1 2
2 1
2 10
1 10
....
wypiszesz?:
10 1 2 2 1 10 10 ...
a prawidłowo
10 1 2 ......

To w jaki sposób zrobić to szybciej mógłbyś podać jakieś rady był bym bardzo wdzięczny smile

Zależy jak bardzo bardzo wink
0. Od razu możesz wydrukować zr [i zaznaczyć w tablicy.
1. Musisz wiedzieć natychmiast, czy a wie czy nie np tablica bool wie/nie wie false/true
2. Jeżeli a wie oraz b jeszcze nie wie możesz od razu wydrukować b oraz zaznaczyć w tablicy, że od tego momentu b też już wie.
3. Na koniec zerowanie tablicy, przed następnym pakietem testów.

PS
4. Jak bardzo chcesz, to oczywiście zamiast natychmiastowego drukowania, możesz użyć drugiej tablicy.
5. Ewentualnie możesz potem dodatkowo użyć: ios_base::sync_with_stdio(false);

2 years later

Napisałem Ci na PM, co poprawić. Tutaj dodatkowo parę ogólnych uwag:

  1. Bardzo lubię spacje. Np po średniku [; ], po i przed znakiem równości [ = ] itd.
  2. Używasz i vectora i błędnie “zwykłej” tablicy. Lepiej więc używaj tylko vectorów, w końcu kodujesz w C++, a nie C ;-).
  3. Używasz [w tablicy] tylko dwu wartości, 0 i 1, więc lepiej [czytelniej dla czytającego] użyć tablicy bool, a dokładniej vectora, vector <bool>.
  4. Natychmiast po uzyskaniu AC, mogę Ci odesłać, jeśli będziesz chciał, twój poprawiony [przeze mnie] kod, a także moją wersję <-- przysługuje Ci to u mnie ze względu na to, że “zdobyłeś” szacun ;-): .Jak zdobyć szacun na SPOJu
5 months later

W zadaniu nie sprecyzowano a jest to dość istotne czy wiadomości były wysyłane chronologicznie. Wytłumaczę na przykładzie
5 4 1
4 5
2 3
1 2
1 4
Jaki powinien być wynik? 1 2 4 5 3 albo 1 2 4 3 5 czy może 1 2 3 4 5 Na jakiej podstawie ustalić czy najpierw było 1 4 czy też 2 3. I teraz dochodzi do absurdu bo jeśli założymy że chronologicznie informację przesyłano to 2 3 jeszcze nie wiedziało o plotce bo jest przed 1 2 na liście. Jeśli zaś przyjmiemy że najpierw wypisujemy wszystkie osoby którym przekazała 1 informację czyli 1 2 4 to co dalej? Jaka kolejność? Według kolejności na liście czy według numerów startowych??? Przykład jak zawsze jest zbyt prosty i nie precyzuje takich zawiłości.

to naprawdę zadziwiające, skąd u jednej osoby tyle wątpliwości :slight_smile:
i to w sytuacji, gdy ponad 300 osób tych wątpliwości nie miało

więc aby nie było wątpliwości, co do treści:

  1. tak, informacje z bilingu są chronologiczne
  2. jeżeli ktoś znał plotkę, to wszystkie wysyłane przez niego wiadomości dotyczyły tej plotki
  3. lista wynikowa powinna być w kolejności chronologicznej

podane punkty nie są sprzeczne z podanym przykładem w zadaniu, co oczywiście nie dowodzi ich prawdziwości :slight_smile: , ale jest już wystarczającą podstawą do napisania programu - a sędzia to zweryfikuje :slight_smile:

Dziękuję za odpowiedź. Czyli w moim przykładzie wynikiem powinno być 1 2 a następnie 3? Bo 2 3 jest wcześniej od 1 4? Później 4 i na końcu 5.
Czyli moje wątpliwości były uzasadnione bo już zacząłem pisać inaczej że najpierw wypisałem wszystkich którym przekazała plotę pierwsza osoba. Później WA i 3 dni na szukanie błędu w kodzie…

Znamy sprawcę zamieszania, mamy bilingi, wiemy też że każdy kto otrzymał wiadomość o nagrodzie pisał już wyłącznie o niej - pomóż nam i napisz program który ustali przebieg zdarzeń. Kolejność podanych na wejściu wiadomości jest chronologiczna.

Na wyjściu należy w oddzielnej linii dla każdego zestawu danych wypisać łańcuszek osób, które kolejno dowiadywały się o nieprawdziwej historii.

No tak ale tak jak pisałem dochodzi wtedy do absurdu bo wówczas podany q zadaniu przykład jest teoretycznie niemożliwy
1
6 8 5
1 3
3 5
4 6
5 2
3 4
2 6
3 6
2 4
Bo skoro informacja pierwszy raz wyszła od osoby 5 w wierszu 4, to jakim cudem w pierwszych trzech wierszach ktoś mógł znać już informację?

No brawo Watsonie, jesteś genialny. A może cuda się zdarzają? A Ty tak tylko teoretyzujesz aby poteoretyzować czy tak na poważnie?

Coś nie widzę tych twoich trzech dni szukania tego WA, chyba, że to tylko takie zupełnie teoretyczne WA i jego teoretyczne szukanie, albo słabo szukałem – https://pl.spoj.com/status/MWP4_2E,manjaro/4>

PS
Miałem zignorować, ale nie mogłem się powstrzymać.

A przepraszam co jest złego w tym że uprzejmie pytam o co chodzi autorowi skoro podaje sprzeczne informacje? Zamiast grzecznie odpowiedzieć lub ewentualnie w ogóle się nie udzielać to jesteś cyniczny.

To dotyczy ogólnie takich zadań gdzie nie są sprecyzowane informacje. Tak jak tutaj nadal nie wrzucam rozwiązania bo nie wiem jakich odpowiedzi autor się spodziewa. Przykład jest kompletnie nieprzydatny. Podaję swój przykład który mógłby sporo wyjaśnić ale jak dotąd nikt nie podał rozwiązania
5 4 1
4 5
2 3
1 2
1 4

Jak na Ciebie, to rzeczywiście wyjątkowo uprzejmie. Problem w tym, że w ogóle nie pytasz, tylko stwierdzasz i wyjaśniasz. Dziękuję uprzejmie. Mam już dawno zaliczone to zadanie, więc nie musisz nic wyjaśniać ani tłumaczyć.

PS
Skoro jednak zostałeś już uświadomiony [a chyba zostałeś?] to może wróć do treści zadania, poczytaj więcej niż raz i przeanalizuj przykład. Moim zdaniem przykład jest kompletny i precyzyjny, tak jak we wszystkich zadaniach. Jeżeli nadal masz wątpliwości, to może pomoże dokładne i ze zrozumieniem przeczytanie całego tego wątku?

No niestety przykład nie jest kompletny bo jakkolwiek byś nie interpretował zadania zawsze masz tylko jedną możliwą wersję wyniku. Natomiast mój przykład może mieć wiele rozwiązań, zależy jak kto rozumie treść. A treść choćbyś zaklinał rzeczywistość nie jest jednoznaczna. Chronologia nie jest zachowana, co pokazuje przykład autora. Olewam to nie będę pisał kilka wersji programu w nadziei że może któraś będzie poprawna. Wolę męczyć się z trudniejszymi zadaniami gdzie wszystko jest jasne i zrozumiałe.

Dostrzegam postęp. W jednym poście i jednym zadaniu zastosowałeś rady kilku osób i to prawidłowo je interpretując czy może bardziej skalując adekwatnie do sytuacji - zamiast uciekać ze SPOJa uciekasz do trudniejszych zadań :wink:

Idziesz do innego problemu…

Rozwalasz trudniejsze, profesjonalne zadania…

Już się nie czepiasz…

I tak trzymać :slight_smile: Każdy z nas olał wiele zadań - nawet osoby z czołówki rankingu nie rozwiązały ich wszystkich :wink:

Podziwiam chęć do wyszukiwania moich licznych wypowiedzi. 90% zadań jest w porządku. Czasem mega łatwe czasem mega trudne. Ale problem logicznie przedstawiony. I albo się z nim uporasz albo nie. Przykładowo zadanie STRINGI2 nie daje mi spokoju. Wydaje mi się że mam algorytm bardzo dobry, ale ciągle dostaje WA. Czepiam się? Nie. Bo zadanie jest zrozumiałe i problem leży wyłącznie po mojej stronie, bo widocznie mój algorytm nie jest wystarczająco dobry. Chociaż nie wydaje mi się aby to można było usprawnić. Jednak zdaje sobie sprawę że jet lepsze rozwiązanie ale ja go nie widzę jeszcze.
Czepiam się jedynie zadań niekompletnych, dwuznacznych i błędnych. Niedawno trafiłem na takie gdzie było w treści że n należy do liczb całkowitych dodatnich a niestety autor zaliczył do tego zbioru też 0. I teraz w czym leży największy problem - nie w tym że autor się pomylił, bo to się każdemu może zdarzyć. Problem leży w podejściu takich osób jak @narbej które próbuję odwrócić kota ogonem i wmówić że to moja wina a nie autora bo powinienem brać pod uwagę różne haczyki niedociągnięcia. Jak jest zakres inta w zadaniu to bezpieczniej weź longa bo nigdy nie wiadomo… A wystarczy na forum napisać - uważajcie w zadaniu tym i tym trzeba brać pod uwagę że zero jest naturalne a w zadaniu tamtym zero już nie jest naturalne. I życie staje się prostsze i nie ma niepotrzebnego kwasu. A tutaj prosiłem żeby ktoś wskazał kolejność liczb z mojego przykładu i niepotrzebne bicie piany ale nikt nie podał prawidłowego rozwiązania…

@manjaro

Jeżeli pytasz o ten input

to out u mnie: 5 2 6 4