version 3.2, 2008/09/08 17:16:47
|
version 3.4, 2013/10/30 19:28:30
|
Line 1
|
Line 1
|
#!/usr/local/bin/perl |
#!/usr/bin/perl |
#$Id$ |
#$Id$ |
# |
# |
# |
# |
Line 20 $DEBUG=$opt_d;
|
Line 20 $DEBUG=$opt_d;
|
$SHORT=$opt_s; |
$SHORT=$opt_s; |
$MEDIUM=$opt_m; |
$MEDIUM=$opt_m; |
|
|
|
# Находим максимальный и минимальный вопрос и слегка подстраховываемся. |
|
$MINQUEST=1e99; |
|
$MAXQUEST=-1; |
|
for (my $r=1; $r<=$ROUNDS; $r++) { |
|
if ($MINQUEST>$MINQUEST[$r]) { |
|
$MINQUEST=$MINQUEST[$r]; |
|
} |
|
if ($MAXQUEST<$MAXQUEST[$r]) { |
|
$MAXQUEST=$MAXQUEST[$r]; |
|
} |
|
} |
|
if ($MINQUEST < 0 || $MAXQUEST < 0) { |
|
die "Отрицательные номера вопросов не поддерживаются!\n"; |
|
} |
|
|
my %teams; |
my %teams; |
my @answers; |
my @answers; |
my @ratings; |
my @ratings; |
Line 44 if ($opt_o) {
|
Line 59 if ($opt_o) {
|
select OUTFILE; |
select OUTFILE; |
} |
} |
|
|
# Находим максимальный вопрос |
|
$MAXQUEST=1; |
|
for (my $i=1; $i<=$ROUNDS; $i++) { |
|
if ($MAXQUEST<$MAXQUEST[$i]) { |
|
$MAXQUEST=$MAXQUEST[$i]; |
|
} |
|
} |
|
|
|
|
|
# |
# |
# Таблица подводится отдельно по каждому раунду |
# Таблица подводится отдельно по каждому раунду |
# |
# |
Line 66 for (my $r=1; $r<=$ROUNDS; $r++) {
|
Line 72 for (my $r=1; $r<=$ROUNDS; $r++) {
|
# |
# |
# Удаляем старые рейтинги (Ivan A Derzhanski <iad58@mail.ru>) |
# Удаляем старые рейтинги (Ivan A Derzhanski <iad58@mail.ru>) |
# |
# |
for ($i=1;$i<=$MAXQUEST;$i++) { |
for ($i=$MINQUEST;$i<=$MAXQUEST;$i++) { |
foreach $answer (keys %{$answers[$i]}) { |
foreach $answer (keys %{$answers[$i]}) { |
%{$answers[$i]->{$answer}->{teams}} = (); |
%{$answers[$i]->{$answer}->{teams}} = (); |
} |
} |
Line 210 for (my $r=1; $r<=$ROUNDS; $r++) {
|
Line 216 for (my $r=1; $r<=$ROUNDS; $r++) {
|
if ($max>$MAXQUEST[$r]) { |
if ($max>$MAXQUEST[$r]) { |
$max=$MAXQUEST[$r]; |
$max=$MAXQUEST[$r]; |
} |
} |
for ($i=$j*$nline+1; $i<=$max; $i++){ |
for ($i=$MINQUEST[$r]+$j*$nline; $i<=$max; $i++){ |
printf("%3s",$i); |
printf("%3s",$i); |
} |
} |
printf "\n"; |
printf "\n"; |
for ($i=$j*$nline+1; $i<=$max; $i++){ |
for ($i=$MINQUEST[$r]+$j*$nline; $i<=$max; $i++){ |
printf("%3s",$ratings[$i]); |
printf("%3s",$ratings[$i]); |
} |
} |
printf "\n"; |
printf "\n"; |
Line 229 for (my $r=1; $r<=$ROUNDS; $r++) {
|
Line 235 for (my $r=1; $r<=$ROUNDS; $r++) {
|
print "\n"; |
print "\n"; |
} |
} |
print "\n"; |
print "\n"; |
|
print "\n"; # LG: One more for better readability |
} |
} |
|
|
|
|