2008-12-31から1日間の記事一覧

Problem 163

http://projecteuler.net/index.php?section=problems&id=163 三角形の数を数える簡単なお仕事。 そんなに簡単ではないが。 m = 36 layer n = tail.concat $ [map (<+>(6*n-k,k)) grid| k<-[0,6..6*n]]++[[(6*(n+1),0)]] where grid = [(4,-2),(0,3),(0,6),(…

Problem 164

http://projecteuler.net/index.php?section=problems&id=164 これは簡単。表を埋めるだけの簡単なお仕事。 import Data.Array m = 20 f = listArray ((1,0,0),(m,9,9)).map g.range $ ((1,0,0),(m,9,9)) where g (1,a,b) = 10 - (a+b) g (n+1,a,b) = sum[f!…

Problem 161 (C++で)

C++だと実行時間はどう変わるのか 同じアルゴリズムで実装してみた #include <iostream> #include <map> using namespace std; int h=12,w=9; int area[][3]={{0,w,w+1},{0,w,w-1},{0,w+1,1},{0,w,1},{0,w,2*w},{0,1,2}}; bool inBoard(int x,int t){ switch(t){ case 1: re</map></iostream>…