

Posts Tagged “SPOJ”
Oct
10
2010
![]() ![]() 用容斥原理计算被Hyperplane切割后的Hyperrectangle体积Posted by watashi in summary, tags: hyperspace, SPOJ, 容斥原理
Feb
09
2010
![]() ![]() Small factorialsPosted by watashi in solution, tags: bash, BigInteger, factorial, haskell, java, perl, php, python, ruby, scheme, solution, SPOJSPOJ24. Small factorials[FCTRL2]就是阶乘计算加高精度运算。以下是用内置大数支持的perl, php, java, ruby, python, haskell, bash, scheme等语言实现的代码。 haskellmain = interact $ unlines . map (\i -> show $ f !! read i) . tail . words where f = scanl (*) 1 [1 ..] perl#!/usr/bin/perl -w use strict; use Math::BigInt lib => 'GMP'; my @f = (); push @f, Math::BigInt->new(1); for (my $i = 1; $i <= 100; ++$i) { push @f, $f[$#f]->copy()->bmul($i); } chomp(my $re = <STDIN>); for (my $ri = 1; $ri <= $re; ++$ri) { chomp(my $n = <STDIN>); print "$f[$n]\n"; } php
Dec
24
2009
![]() ![]() My SyntaxHighlighter 2.0 Haskell BrushPosted by watashi in work, tags: a+b, haskell, javascripy, plugin, ProjectEuler, SPOJ, syntax, SyntaxHighlighter, utility, wordpressAs I cannot find any appropriate haskell brushes for SyntaxHighlighter, I developed one by myself. You can download it here, I do hope it will be helpful. If you find any bugs or have any suggestions, please comment here or email me. SyntaxHighlighter提供了大多流行语言的Brush,但是相对而言支持的语言还是比较少的。如果你需要的某种语言不幸不在支持列表内,那么你还可以求助于第三方Brush,这里有一个更加丰富语言列表,不过不是所有的语言都有对应的Brush。更不幸的是,我需要的Haskell语言甚至都不在这个列表里。google了一下还是看到有别人写的Brush,不过功能实在有点弱,所以我开始按照Handy Custom Brushes Development Guide自己写一个Haskell Brush。 在Guide的指导下,在参考着其他语言的Brush和其他平台下Haskell的高亮配置文件,我自己的shBrushHaskell.js也有模有样的完成了。最后要做的就是把它加到wordpress的plugin里,参照Adding A New Brush (Language)便能很容易完成。事实上在在我使用的SyntaxHighlighter Evolved里只要先把shBrushHaskell.js上传到合适的位置,比如$plugin_dir/watashi-no-brushes,再对syntaxhighlighter.php做两处修改就好了:
大功告成。 首先拿A + B Problem做个测试: main = do input <- getContents putStr $ unlines $ map show $ doEMP $ map read $ words input doEMP [] = [] doEMP (a:b:o) = a + b : doEMP o 再加两个demo,第一个是ProjectEuler的41: |