For example:
Java 1.5
Python
C#
I build some language usage statistics for 3 Top UVA users.
Maybe someone find this post interesting.
Anton Maydell, Joachim Wulff and Adrian Kuegel Sphere Online Judge accepted submissions by languages statistics:
Code: Select all
Submissions by [avm] in contest [SPOJ]. DoI: 2007-01-02 11:26:33.
Language AC perc
1.C++ (g++ 4.0.0-8) 85 36.80%
2.Java (j2se jdk 1.5.0) 77 33.33%
3.C (gcc 4.0.0-8) 25 10.82%
4.Python (python 2.4) 12 5.19%
5.Ocaml (ocaml 3.08.1) 10 4.33%
6.Brainf**k (bf2c) 6 2.60%
7.Lua (lua 5.0.2) 5 2.16%
Perl (perl 5.8.3) 5 2.16%
9.Pascal (fpc 2.0.2) 4 1.73%
10.Text (pure text) 2 0.87%
languages unsupported by UVA 117 50.65%
total 231 100.00%
Submissions by [joachim] in contest [SPOJ]. DoI: 2007-01-02 11:26:25.
Language AC perc
1.C (gcc 4.0.0-8) 99 91.67%
2.Pascal (fpc 2.0.2) 6 5.56%
3.Text (pure text) 2 1.85%
4.Brainf**k (bf2c) 1 0.93%
languages unsupported by UVA 3 2.78%
total 108 100.00%
Submissions by [ak15] in contest [SPOJ]. DoI: 2007-01-02 11:26:24.
Language AC perc
1.C++ (g++ 4.0.0-8) 210 61.40%
2.C (gcc 4.0.0-8) 98 28.65%
3.Java (j2se jdk 1.5.0) 12 3.51%
4.Brainf**k (bf2c) 7 2.05%
5.Text (pure text) 5 1.46%
6.Prolog (swipl 5.2.7) 4 1.17%
7.Python (python 2.4) 2 0.58%
Perl (perl 5.8.3) 2 0.58%
9.Pascal (fpc 2.0.2) 1 0.29%
Haskell (ghc 6.4.1) 1 0.29%
languages unsupported by UVA 33 9.65%
total 342 100.00%
Code: Select all
# Perl script for generating language usage statistics
# for a giver user on Sphere Online Judge
# Input file : input.txt
# Output file : output.txt
# This script tested on
# 1) http://www.spoj.pl/status/avm/signedlist/
# 2) http://www.spoj.pl/status/joachim/signedlist/
# 3) http://www.spoj.pl/status/ak15/signedlist/
# written by avm (open source)
open F,"input.txt";
open G,">output.txt";
%lang_names = (
"TEX","Text (pure text)",
"CAM","Ocaml (ocaml 3.08.1)",
"JAV","Java (j2se jdk 1.5.0)",
"LUA","Lua (lua 5.0.2)",
"C","C (gcc 4.0.0-8)",
"PAS","Pascal (fpc 2.0.2)",
"PER","Perl (perl 5.8.3)",
"BF","Brainf**k (bf2c)",
"C++","C++ (g++ 4.0.0-8)",
"PYT","Python (python 2.4)",
"PRL","Prolog (swipl 5.2.7)",
"HAS","Haskell (ghc 6.4.1)"
);
sub print_lang
{
my ($lang,$x);
$lang = shift @_;
$x = shift (@_);
printf G "%-30s%8.0f%8.2f",$lang,$x,(100.0 * $x) / $total;
print G "%\n";
}
%prob_lang_set = ();
%lang_ac = ();
$unsupported_uva = $total = 0;
foreach(<F>)
{
if (/^Submissions by/)
{
print G;
next;
}
chomp;
@a=split(/[| ]+/);
if ($#a == 8)
{
if ($a[5] eq "AC" || not($a[5] =~ /[A-Z]+/))
{
$s = $a[4] . "@" . $a[8];
unless(exists($prob_lang_set{$s}))
{
$prob_lang_set{$s} = 1;
$lang_ac{$a[8]} += 1;
$total += 1;
unless(($a[8] eq "PAS") ||
($a[8] eq "C") ||
($a[8] eq "C++") ||
($a[8] eq "C99"))
{
#Java 1.5 doesn't supported on UVA so I didn't count JAVA submissions
$unsupported_uva += 1;
}
}
}
}
}
$last = -1;
$k = 0;
printf G " %-30s%8s%8s\n","Language","AC","perc";
foreach(sort {$lang_ac{$b}<=>$lang_ac{$a}} keys %lang_ac)
{
$k += 1;
if ($last != $lang_ac{$_})
{
printf G "%2d.",$k;
$last = $lang_ac{$_};
}
else
{
print G " ";
}
$lang = $_;
$lang = $lang_names{$_} if (exists($lang_names{$_}));
print_lang($lang,$last);
}
print G "\n";
print G " ";
print_lang("languages unsupported by UVA",$unsupported_uva);
print G " ";
print_lang("total",$total);
close F;
close G;