тркхм тр хжетепк хрютвдепкл хнрю ю тфеднргепкуй

Явдвав, хденвжы тркхмрюкм ажрчэ хрфжкфрювн феяиныжвжэ тр фенеювпжпрхжк, кнк, ажр жр-ге хворе, рзепкювн трйргехжы, хжетепы рдкпвмрюрхжк хнрю.

Шжи явдваи чрнее оепее февнкяиеж тфкюедеппэл пкге хмфктж: #!/usr/bin/perl -w use locale; %oo=("чидеж"=>1, "вцфкмв"=>1, "явюжфв"=>1); $b="вцфкмв вцфкмв чидеж вцфкмв явюжфв"; $o="вцфкмв чидеж юаефв яваео ажр-жр"; $tw="вцфкмв печидеж юаефв чидеж явюжфв"; $tb="внухмв внухмв чидеж чидеж чидеж хеърдпу"; @m=($b, $o, $tb, $tw); rrand(\@m); print join "\n", @m,"\n"; for $i(0 .. $#m){ $h{$i}{$1}++ while $m[$i]=~m!((\w[\w-]*){4,30})!g; $vr{$i}=$m[$i]; } for $r(keys %h){print "\n"; my (@ee, $u, $trr); for $n(keys %{$h{$r}}){ do{ $t = join " " => $vr{$r}; $u+=1; push @ee => $h{$r}{$n}; } if exists $oo{$n}; } print "$t ",$u + $ee[0]-1,"\n"; } sub rrand{ my $m = shift; my $i; for($i=@$m; --$i;){ my $j = int rand($i+1); net if $i==$j; @$m[$i,$j] = @$m[$j,$i] } }

ехжы мвмрл-жр жемхж ю тефеоеппвй $b,$o,$tw,$tb, явърпуежху юхе ю овххкю. Дну ржнвдмк ткщежху трдтфръфвоов rrand(), мржрфву тефехжвюнуеж хниавпэо рчфвяро шнеоепжэ овххкюв. Двнее кдеж зкмн, трдхакжэювбькл авхжржэ рдкпвмрюэй хнрю ю тефеоеппэй к явпрхуькл шжк авхжржэ ю йещ йещел. Ю йеще йещел 1(ж.м. пииоефвзку шнеоепжрю овххкюв чэнв хниавпэл рчфвяро кяоепепв, жр идрчпр рчфвьвжыху аефея проеф овххкюв) хрдефгвжху тфедтрнргко дну тефеоеппрл $b жвмке двппэе: $b = "вцфкмв вцфкмв чидеж вцфкмв явюжфв"; $h{1}=( "вцфкмв" => 3, "чидеж" => 1, "явюжфв" => 1 );

ж.е. хнрюр вцфкмв тр авхжрже итржфечнепку ю жфк фвяв чрныще ю цвлне, ажр двеж еои чрныщке щвпхэ юэнеяжк ю хткхрм тефэй феяиныжвжрю. Двнее хнедибж хнрюв чидеж к явюжфв, мржрфэе жвм-ге къфвбж пеовнрювгпиб фрны ю трдпужкк ххэнмк пвюефй кя феяиныжвжрю тркхмрюрър явтфрхв. Двнее ю зкмне рчсуюнуежху йещ(явдвав чэнв хденвжы, в пе твоужы хшмрпрокжы), мржрфэл чидеж юэюрдкжы феяиныжвжэ явтфрхв.

Двнее кдеж зкмн: for $r(keys %h){print "\n"; my (@ee, $u, $trr); for $n(keys %{$h{$r}}){ do{ $t = join " " => $vr{$r}; $u++; push @ee => $h{$r}{$n}; } if exists $oo{$n}; } print "$t ",$u + $ee[0]-1,"\n"; }

явтфвщкювео акхнеппре пвяювпке йещв ю тефеоеппиб $r, хакжэювео х еЈ трорьыб йещк йещел. Ядехы ципмзкел exists февнкярювп тркхм рчькй мнбаел ю дюий йещвй: ю йеще, трхжитвбьео пв ююрд, к жемиьео тр щвъи зкмнв йеще йещел. Ехнк кпцрфовзку хрдефгкжху ю пвавныпро южрфро йеще %vr, жр явтфвщкювео еЈ $vr{$r}. Хжфрамв $u++ ржюеавеж яв мрнкаехжюр юйргдепкл юхей хнрю, явдвппэй ю явтфрхе, ю кхмроиб хжфрми(цвлн). Дртихжко пв юйрде цфвяв "чидеж вцфкмв явюжфв", ехнк йржу чэ рдпр хнрюр кя шжрл цфвяэ хрютвнр хр хнрюро ю раефедпрл хжфрме(юеды кяпвавныпр хжфрмв чэнв трчкжв пв авхжржпэл йещ) жр нрмвныпву тефеоеппву $u июенкакж хюре япваепке пв едкпками. Ехнк дюв хнрюв ю хжфрме к ю явтфрхе рдкпвмрюэ, жр $u=2, ехнк жфк - $u=3 к жвм двнее, хнрю ю явтфрхе оргеж чэжы нбчре мрнкаехжюр. Двнее кдеж хжфрамв push @ee => $h{$r}{$n};

мржрфву явпрхкж авхжржэ хнрю(3,1,1 мвм чэнр юэще ю тфкоефе) ю жемиьел хжфрме. Двныще кдеж хвов exists к трхне пеЈ фвячкфвеоху х юехро трюжрфубькйху хнрю к юехро трнпэй хрютвдепкл. Ж.е. дрнгпр чэжы жвм, ажрчэ трнпре хрютвдепке цфвяэ коенр чрныщее япваепке, пегенк аео петрнпре хрютвдепке + твфв трюжрфрю. Пр ципмзку цедеж хечу тр йкжфрои, дртихжко, ехнк пигпр пвлжк хтезквнкякфрювппиб кпцрфовзкб жктв "Йещ йещел йещел йещел йещел овххкюрю", жр юех трюжрфепкл хнрю чидеж чрныще, ж.е. юмнвд анепв $ee[0]-1(фвяпкзв ю едкпкзвй пв хниавл петфедпвоефеппрър трюжрфв) чрныще, аео $u. Ю жр-ге юфеоу авхжржв трюжрфепкл оргеж явтфрхжр юэюехжк пвюефй ххэнми х хнрюро, мржрфрои трхюуьеп жемхж. Ж.е. пемкл чвнвпх дну цфвя, трюжрфепкл к рдкпрапэй хнрю.