• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ Flamaster wszystkie testy z wejscia działają, ale sędzia nie akceptuje.

Object Storage Arubacloud
–1 głos
718 wizyt
pytanie zadane 10 lipca 2017 w C i C++ przez GaNdAlFf56 Początkujący (380 p.)
Tak jak w temacie :)

 

Macie pomysły na jakieś testy?

Jeśli ktoś chciałby poświęcić odrobinkę swojego czasu i zobaczyć na kod i coś popróbować, proszę napisać komentarz =D!

Dziękuję!
komentarz 10 lipca 2017 przez GaNdAlFf56 Początkujący (380 p.)
przeniesione 10 lipca 2017 przez Arkadiusz Waluk
1
komentarz 14 lipca 2017 przez d0n Mądrala (6,440 p.)
Z chęcią pomogę, ale potrzebny jest kod. Następnym razem wrzuć go na pastebin i daj link od razu bez niepotrzebnych "procesów inicjacji" =)
komentarz 14 lipca 2017 przez GaNdAlFf56 Początkujący (380 p.)

Z góry dziękuję!

kod: http://ideone.com/apwCip

Zdaje sobie sprawę, że kod według mnie jest bardzo zagmatwany i za to przepraszam.

Jeśli nie chce ci się siedzieć nad nim to nie musisz :P.

Dodam tylko, że szukając rozwiązania mojego problemu natrafiłem na kod, w którym autor zrobił to zadanie jedynie na 4 if, co dało mi do myślenia. Po zrobieniu zadania ROL (k) olśniło mnie i zrozumiałem, że wystarczy tylko na wyjściu wypisać to co sędzia oczekuję zamiast bawić się w podmiany w tablicach :). Jeżeli masz chęć to możesz sprawdzić, co nie gra w tym kodzie, jednak osobiście napisałbym to wszystko od nowa, więc szukanie błędów w kodzie nie jest konieczne :)!

Prosiłbym jedynie o ocenę kodu i o wskazówki na przyszłość!

 

 

1
komentarz 15 lipca 2017 przez d0n Mądrala (6,440 p.)
edycja 15 lipca 2017 przez d0n

Ciężko faktycznie się połapać w niektórych miejscach, ale jak dla początkującego kod jest w porządku, bardzo dobrze, że próbujesz takich zadanek. Rada techniczna, nie dotycząca kodu, to jeżeli używasz iostream'a pamiętaj o dwóch magicznych linijkach:

	ios_base::sync_with_stdio(false);
	cin.tie(0);

Przyśpieszą one wczytywanie i wypisywanie. Polecam też używać '\n' zamiast endl, ponieważ niektóre limity czasu na spoju są bardzo restrykcyjne i dobre rozwiązania nie wejdą przez użycie endl'a (chociaż przydaje się on bo wypisuje linijke od razu na wyjscie, bez niego na wyniki trzeba czekac do konca wykonywania programu)

Wygenerowałem wiele testów i twój kod dawał dla wszystkich dobre wyniki, nieźle =)
Skoro już obejrzałeś czyjeś rozwiązanie to dorzucam swoje ( linijka 9 to taka inna wersja if'a, o której można poczytać tu LINK, wprawdzie nie jest to poradnik o c++, ale w c++ dziala to identycznie.
 

#include <iostream>
using namespace std;

int ile;
string p;

string stworz (char zn, int c)
{
	return (c > 2)? string(1, zn) + to_string(c) : string(c, zn);
}

string fun (string p)
{
	string res; int counter = 1;
	for (int i = 1; i < p.size(); ++i)
		if (p[i] != p[i - 1])
		{
			res += stworz(p[i - 1], counter);
			counter = 1;
		}
		else
			++counter;
	return res;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr); // lub cin.tie(0) w starszych kompilatorach
	cin >> ile;
	while (ile--)
	{
		cin >> p; 
		cout << fun( p + "#" ) << '\n';
	}
}

Na koniec jeśli zainteresuje cię algorytmika polecam strony hackerrank, geeks4geeks, codeforces, main.edu.pl, projecteuler, codewars =)) 

1
komentarz 16 lipca 2017 przez GaNdAlFf56 Początkujący (380 p.)

Ojejku! Sporo się napracowałeś za co bardzo dziękuję!

Te wszystkie rady i wskazówki są naprawdę pomocne, na pewno sporo mnie rozwiną!

Dzięki raz jeszcze!

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 538 wizyt
0 głosów
1 odpowiedź 475 wizyt
pytanie zadane 26 września 2017 w SPOJ przez DaViDoWsKy Nowicjusz (150 p.)

92,555 zapytań

141,402 odpowiedzi

319,543 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...