Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 88 ]  Przejdź na stronę Poprzednia strona  1 ... 5, 6, 7, 8, 9  Następna strona
Kamień Papier Nożyczki - testy 
Autor Wiadomość
Gwiazda 2

Dołączył(a): 11 paź 2010, o 10:56
Posty: 5
Post Re: Kamień Papier Nożyczki - testy
Aleksander Łukasiewicz napisał(a):
Hah, po co ty tak te dane wczytujesz? Przecież przy tak małej ilości danych nie zaoszczędzisz zbyt dużo czasu na samej obsłudze wejścia. Tylko można jakiegoś buga walnąć lub sobie mózg zlasować :D.

Tak btw. to wczytywanie getsem jest szybsze? Bo nie znam się kompletnie na tych sztuczkach z wejściem/wyjściem.


Nie przejmuj się nim absolutnie, to jest człowiek który walczy o każdą setną sekundy w obsłudze, a w międzyczasie algorytm siedzi i płacze :P Wiem coś o tym, siedzę obok niego na programowaniu ;)


13 paź 2010, o 22:51
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2

Dołączył(a): 24 lis 2009, o 15:59
Posty: 47
Post Re: Kamień Papier Nożyczki - testy
Kod:
#include <cstdio>
using namespace std ;
int main()
{
    int t ;
    scanf("%d",&t) ;
    while (t--)
    {
        double p1, k1, n1, p2, k2, n2 ;
        scanf("%lf%lf%lf%lf%lf%lf",&p1, &k1, &n1, &p2, &k2, &n2) ;
        double szanseAdama = p1*k2 + k1*n2 + n1*p2 ;
        double szanseGosi = p2*k1 + k2*n1 + n2*p1 ;
        if (szanseAdama == szanseGosi) printf("=\n") ;
        else
        {
            if (szanseAdama > szanseGosi) printf("ADAM\n") ;
            else printf("GOSIA\n") ;
        }
    }
    return 0 ;
}

myślę, że krócej się nie da


13 paź 2010, o 23:03
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 30 maja 2010, o 20:46
Posty: 69
Post Re: Kamień Papier Nożyczki - testy
nie powinno się tak porównywać doubli, miałeś sporo szczęścia ;)


13 paź 2010, o 23:11
Zobacz profil
Gwiazda 1Gwiazda 1Gwiazda 1Gwiazda 1
Avatar użytkownika

Dołączył(a): 8 paź 2010, o 21:56
Posty: 40
Post Re: Kamień Papier Nożyczki - testy
W tym zadaniu gets() jest częścią tego algorytmu ^^
Gets() nie zawsze jest szybszy. Nieumiejętne korzystanie z funkcji prowadzi do katastrof. Niezgodne formatowanie pliku tworzy urojenia, przez które nie przechodził mi ani konduktor ani palindromy. Nie polecam.
@Michał Kownacki
Kod:
int main(){
    int z;
    float x1,y1,z1,x2,y2,z2,result;
    scanf("%d",&z) ;
    while (z--){
        scanf("%f%f%f%f%f%f",&x1,&y1,&z2,&x2,&y2,&z2);
        result=x1*y2-x1*z2+y1*z2-y1*x2+z1*x2-z1*y2;
        if(result>0)printf("ADAM\n");
        else if(result<0) printf("GOSIA\n");
        else printf("=\n");
    }
    return 0;
}


Jak mówiłem 13 linijek, a da sie jeszcze skrócić jak zrobisz z zmiennej "Z" brainfucka i zadeklarujesz ją jako float i będziesz traktować jako inta :P


13 paź 2010, o 23:12
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 31 maja 2009, o 18:24
Posty: 107
Post Re: Kamień Papier Nożyczki - testy
PMichalak napisał(a):
nie powinno się tak porównywać doubli, miałeś sporo szczęścia ;)

Dlaczego nie powinno się (ja też tak zrobiłem :D)?
Abon napisał(a):
W tym zadaniu gets() jest częścią tego algorytmu ^^

Szczerze mówiąc to ja nie widzę większego związku, chyba, że to ironia jest :D.


13 paź 2010, o 23:15
Zobacz profil
Gwiazda 1Gwiazda 1Gwiazda 1Gwiazda 1
Avatar użytkownika

Dołączył(a): 8 paź 2010, o 21:56
Posty: 40
Post Re: Kamień Papier Nożyczki - testy
@Aleksander Łukasiewicz
To było całkowicie poważne zdanie. Gdyby testów było milion zobaczyłbyś znaczącą różnicę miedzy naszymi czasami.


13 paź 2010, o 23:30
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 29 maja 2009, o 22:54
Posty: 112
Post Re: Kamień Papier Nożyczki - testy
Grzegorz Chuchro napisał(a):
@Aleksander Łukasiewicz
To było całkowicie poważne zdanie. Gdyby testów było milion zobaczyłbyś znaczącą różnicę miedzy naszymi czasami.

Tak, tylko że testów było 20, więc kombinowanie w celu wyciśnięcia jakichś 0.01s jest tylko marnowaniem czasu. Jeśli masz go za duzo to w porzadku :D

olek napisał(a):
Dlaczego nie powinno się (ja też tak zrobiłem :D)?

Poszukaj sobie, jak w pamięci reprezentowane sa liczby zmiennoprzecinkowe. Albo spróbuj wypisać jakąkolwiek wpisaną na chama do kodu z dokładnością do, powiedzmy, 20 miejsc po przecinku.


13 paź 2010, o 23:34
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 30 maja 2010, o 20:46
Posty: 69
Post Re: Kamień Papier Nożyczki - testy
Kod:
double a = 1.2, b = 1.0, c = 0.2;
cout << (a-b == c);


jakiś tam kontrprzykład, u mnie działa tak jak powinien, czyli zwraca false.


14 paź 2010, o 00:13
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2

Dołączył(a): 23 lis 2009, o 23:00
Posty: 101
Post Re: Kamień Papier Nożyczki - testy
Paweł Michalak napisał(a):
Kod:
double a = 1.2, b = 1.0, c = 0.2;
cout << (a-b == c);


jakiś tam kontrprzykład, u mnie działa tak jak powinien, czyli zwraca false.

Daj sobie trochę więcej cyfr po przecinku, trochę powymnażaj, trochę podziel i dopiero wtedy porównaj.

BTW, chodziło raczej o to, że w takim przypadku często będzie zwracać false, choć powinno zwracać true;


14 paź 2010, o 09:27
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 30 maja 2010, o 20:46
Posty: 69
Post Re: Kamień Papier Nożyczki - testy
hmm.. ale ten przykład właśnie potwierdza, że zwraca false mimo, że powinno true.


14 paź 2010, o 09:41
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 88 ]  Przejdź na stronę Poprzednia strona  1 ... 5, 6, 7, 8, 9  Następna strona


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group. Forum style based on STSoftware Hestia.
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL