X-Git-Url: http://git.ieval.ro/?p=gruntmaster-daemon.git;a=blobdiff_plain;f=lib%2FGruntmaster%2FDaemon%2FJudge%2FPoints.pm;h=6decaad3b2c3391e369020ce34e5c677f50ff508;hp=6d13ad07f4c489dff820c0e2c10cfe48690405a6;hb=8aec2ffe6e3b488974f2ca97f7d63324e47742ab;hpb=5c5cd38ad5b9e3c2b331564bc0b23e9167b7d07a diff --git a/lib/Gruntmaster/Daemon/Judge/Points.pm b/lib/Gruntmaster/Daemon/Judge/Points.pm index 6d13ad0..6decaad 100644 --- a/lib/Gruntmaster/Daemon/Judge/Points.pm +++ b/lib/Gruntmaster/Daemon/Judge/Points.pm @@ -7,15 +7,48 @@ use warnings; use Gruntmaster::Daemon::Constants qw/AC REJ/; use List::Util qw/sum/; use Log::Log4perl qw/get_logger/; -our $VERSION = '0.001'; + +our $VERSION = '5999.000_001'; ################################################## sub judge{ no warnings qw/numeric/; get_logger->trace("Judging results: @_"); - my $points = sum 0, grep { $_+0 eq "$_" } @_; + my $points = sum 0, grep { !ref } @_; $points == 100 ? (result => AC, result_text => 'Accepted') : (result => REJ, result_text => "$points points", points => $points) } -1 +1; +__END__ + +=encoding utf-8 + +=head1 NAME + +Gruntmaster::Daemon::Judge::Points - 0 to 100 points IOI-style judge + +=head1 SYNOPSIS + + use Gruntmaster::Daemon::Judge::Points; + Gruntmaster::Daemon::Judge::Points->judge($result1, $result2, $result3, ...); + +=head1 DESCRIPTION + +Gruntmaster::Daemon::Judge::Points is a judge which adds up the given results and returns C if the final score is 100 points or C otherwise. + +=head1 AUTHOR + +Marius Gavrilescu Emarius@ieval.roE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2014 by Marius Gavrilescu + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + + +=cut