Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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:1.740s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:C CPP C99 PAS-GPC PAS-FPC

ukryj komentarze
2013-04-13 19:52:24 Mariusz ¦liwiñski
Nie ma w zadaniu nic o zakresie liczb, ale na long longach można tylko dojechać do 50 testu :), ostatnie testy to ponad 1000 cyferek.

case 1
c=_cc_t*
ca=_a_a/_a/
a=_cc_cc_t*+
cc=_t_t_t/*
t=34100000000000000000000000000000007/1000000000000000000000000000000000009

Ostatnio edytowany: 2013-04-14 14:52:17
2013-04-10 17:11:31 RJ
Mogę prosić o jakiś bardziej zaawansowany przykład, bo kod który napisałem rozwiązuje przykładowe zadanie, a dostaję błędna odpowiedź
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.