| |
ßâäâàâ, õäåíâæû òðêõìðþêì àæð÷ý õðôæêôðþâí ôåÿèíûæâæý òð ôåíåþâïæïðõæê, êíê, àæð æð-ãå õâîðå, ðçåïêþâí òðéðãåõæû, õæåòåïû ðäêïâìðþðõæê õíðþ.
Øæè ÿâäâàè ÷ðíåå îåïåå ôåâíêÿèåæ òôêþåäåïïýë ïêãå õìôêòæ:
#!/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. Þ æð-ãå þôåîó àâõæðæâ òðþæðôåïêë îðãåæ ÿâòôðõæð
þýþåõæê ïâþåôé õõýíìè õ õíðþðî, ìðæðôðîè òðõþóüåï æåìõæ. Æ.å. ïåìêë ÷âíâïõ
äíó öôâÿ, òðþæðôåïêë ê ðäêïðàïýé õíðþ.
|
úÁËÌÁÄËÉ ÎÁ ÓÁÊÔÅ ðÒÏÓÌÅÄÉÔØ ÚÁ ÓÔÒÁÎÉÃÅÊ |
Created 1996-2026 by Maxim Chirkov äÏÂÁ×ÉÔØ ÎÏ×ÏÓÔØ, ðÏÄÄÅÒÖÁÔØ |