version 3.1, 2008/03/24 16:01: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 64 for (my $r=1; $r<=$ROUNDS; $r++) {
|
Line 70 for (my $r=1; $r<=$ROUNDS; $r++) {
|
} |
} |
|
|
# |
# |
|
# Удаляем старые рейтинги (Ivan A Derzhanski <iad58@mail.ru>) |
|
# |
|
for ($i=$MINQUEST;$i<=$MAXQUEST;$i++) { |
|
foreach $answer (keys %{$answers[$i]}) { |
|
%{$answers[$i]->{$answer}->{teams}} = (); |
|
} |
|
} |
|
|
|
# |
# Читаем ответы в данном раунде |
# Читаем ответы в данном раунде |
# |
# |
foreach my $file ( @{$FILES[$r]} ) { |
foreach my $file ( @{$FILES[$r]} ) { |
Line 201 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 220 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 |
} |
} |
|
|
|
|