.... czyli dziwne zabawy programistów ;-)

O tym, że programowanie dla programisty to również w większości wypadków hobby, świadczy duża popularność serwisów będących repozytoriami problemów wraz z systemami oceniającymi rozwiązania oraz różnego rodzaju konkursami. Rozwiązywanie takich problemów to nie tylko czysta rozrywka i przyjemność, bardzo dobry sposób na udoskonalanie własnych umiejętności ale również zdrowa dawka adrenaliny. To ostatnie zrozumie tylko ten, kto choć raz przeżył moment zatwierdzania rozwiązania przed wysłaniem go do automatycznego sędziego :-).
    Od bardzo długiego czasu nosiłem się z zamiarem uruchomienia wewnątrz naszej firmy namiastki konkursu lub ligi programistycznej, które dawałyby szanse na pobawienie się w programowanie. Coś, czego niektórym w czasie intensywnego życia zawodowego i tego "po godzinach" może czasami brakować. 
    Strona 2KMM After Hours - to właśnie częściowa realizacja tych planów. Co jakiś czas będą pojawiały się tutaj zadania, do rozwiązywania których Was bardzo namawiam. Ilość prób jest nieograniczona. A dla najskuteczniejszych przewidziane będą drobne niespodzianki.

Krótka instrukcja podpisywania rozwiązań.
W polu Author wpisujemy swoje imię/pseudonim/itp. Aby zarezerwować dla siebie tą nazwę, zaznaczcie 'Reserve this nick for me' i ustawcie hasło.
'Give a secret phrase' - służy do przekazania ukrytej informacji - można w tym polu podesłać swój firmowy adres e-mail dla identyfikacji albo zostawić puste.

Tak więc, do dzieła !
Przemek 

Zwycięzca pierwszego zadania

opublikowane: 21 gru 2010 20:20 przez google@2kmm.pl   [ zaktualizowane 26 gru 2010 09:38 ]

Mam przyjemność poinformować, że autorem najkrótszego rozwiązania w pierwszym zadaniu 2KMM After Hours został Olek. Zwycięskie rozwiązanie poniżej. 

Gratulacje dla Zwycięzcy !

using S=System.Console;class P{static int z,n=int.Parse(S.ReadLine());static void o(string s){int a,c=s[z++];if(c==40){o(s);a=s[z++];o(s);z++;c=a;}S.Write((char)c);}static void Main(){for(;n-->0;z=0,o(S.ReadLine()),S.Write('\n'));}}

Zaczynamy !

opublikowane: 2 lis 2010 13:59 przez google@2kmm.pl   [ zaktualizowane 3 lis 2010 08:28 ]

Pierwsze, inauguracyjne zadanie. Kryterium oceny, poza poprawnym (oczywiście) algorytmem - jest jak najkrótszy kod. Rozwiązania przyjmowane są tylko w C#.
Zadanie zostało przeniesione z C, gdzie jest zdecydowanie większe pole do popisu. 

Aktualny rekordowy kod w C ma 78 bajtów !!! ;-). Przykładowe rozwiązanie (choć działające głównie dla przykładowych danych) o długości 95 bajtów wygląda następująco (złamane na trzy linie):
*s;main(k,t) {s=t;for(gets(&k);~(k=getchar());k-41?*++s=k:s--) for(;*s>k&&k-40&&putchar(*s--););}

Powodzenia !


1-2 of 2