Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
TFRACAL - Kalkulator ułamków |
Na wejściu danych jest 1000 zestawów danych w nastepującym formacie:
case i [dane dla i-tego zestawu] [lista równań podana zgodnie z poniższym schematem rekurencyjnym] < lista_równań >:=< równanie >'\n'[< lista_równań >] < równanie >:=< var >=(< onp >,< fraction >) < onp >:=(_< var >,< onp >)(_< var >,< onp >)< op > < var >:=(a,c,g,t)[< var >] < op >:=(+,*,/) < fraction >:=< number >/< number > < number >:= (1-9)[< number >]
Każda zmienna (var) pojawia się dokładnie raz po lewej stronie równania. Jeżeli zmienna występuje po prawej stronie równania, to jej definicja (pojawienie się po lewej stronie równania) wystąpi w jednej z kolejnych linii. Na wyjściu należy wydrukować listę zmiennych (var) posortowanych w porządku leksykograficznym, wraz z wyznaczonymi ich wartościami w postaci nieskracalnej: licznik mianownik w dziesiętnym systemie pozycyjnym.
Przykład
Wejście: case 1 c=_g_a/_cg_g/* cg=_a_ct_a++ g=_a_a/_ct* ct=_a_a* a=2/2 case 2 t=_ct_ta*_ta* ta=_c_a_a** c=_ct_a+ ct=_a_a+_a_a*+ a=2/4 case 3 c=_t_cg_cg// t=_g_g+_cg_g** cg=_g_ct/ ct=_g_g/ g=6/71 case 4 g=_tt_tt_gt+* t=_gt_tt*_tt/ gt=_tt_tt+_a_a*/ a=_tt_tt_tt/* tt=2/62 case 5 c=_cc_t* ca=_a_a/_a/ a=_cc_cc_t*+ cc=_t_t_t/* t=76/13 Wyjście: case 1 Y [N - jeżeli brak odpowiedzi] a 1 1 c 3 1 cg 3 1 ct 1 1 g 1 1 case 2 Y a 1 2 c 7 4 ct 5 4 t 245 1024 ta 7 16 case 3 Y c 432 357911 cg 6 71 ct 1 1 g 6 71 t 432 357911 case 4 Y a 1 31 g 1923 961 gt 62 1 t 62 1 tt 1 31 case 5 Y a 6764 169 c 5776 169 ca 169 6764 cc 76 13 t 76 13
Liczba punktów będzie równa: liczba przypadków rozwiązanych / 100.
Dodane przez: | mima |
Data dodania: | 2005-03-30 |
Limit czasu wykonania programu: | 2s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C CPP C99 PAS-GPC PAS-FPC |