Go言語

Go言語でセッション管理

探したら合ったのでとりあえず使ってみるGorilla web toolkit sessions URL: https://gorilla-web.appspot.com/pkg/gorilla/sessions/インストールは書いてある通り $ go get code.google.com/p/gorilla/sessionsまあいいんじゃないかな. Session に AddFla…

GoogleCodeJam2012 1B A "Safety in Numbers"

問題: https://code.google.com/codejam/contest/1836486/dashboard#s=p0最低点の人が複数入れば最低点の人がeliminatedされないということだったので2人以上で同じ最低点になるように計算してった. import java.util.Arrays; import java.util.Comparator…

go get の実験

参考URL: http://golang.org/cmd/go/Go1 になってからツールが追加されてたらしいのでちょっと実験してみた. なんかライブラリを github から直接取得して使用できるようにできるらしい. ためしに "Hello, World!" と表示するコマンドラインツールのリポジ…

GoogleCodeJam2012 C "Recycled Numbers"

問題: https://code.google.com/codejam/contest/1460488/dashboard#s=p2与えられた数字の範囲で,順番変えたら一緒になる組みの数字の組みを求める.とりあえず愚直に実装して終わり.Large思いつかなかった. package main import ( "bufio" "fmt" "io" "i…

GoogleGodeJam2012 A "Speaking in Tongues"

問題: https://code.google.com/codejam/contest/1460488/dashboard#s=p0なんかアルファベット変換されてるらしいのでサンプルからわかる文字変換のマッピングを使って,与えられる文字列を変換したものを求める.最初はテキトーに手でやってたら z とかがな…

GCJJ2011 A "カードシャッフル"

問題;https://code.google.com/codejam/contest/dashboard?c=889487#s=p0Google Code Jam Japanにnise..nabeで参加.日本語だけど一応自分の解釈.カードの山札の枚数とシャッフルの回数,シャッフル後で求めるべき番号が与えられる.シャッフルはある番号…

Go言語でMySQLからデータを取得する

参考URL:http://golang.org/cmd/goinstall/使用パッケージ:https://github.com/Philio/GoMySQLGo言語でMySQLからデータを取得する方法. インストール まずgoinstallでパッケージをインストールする. goinstall github.com/Philio/GoMySQL インストールさ…

CodeChef May Cook-off 2011 "Popular Rice Recipe"

問題:http://www.codechef.com/COOK10/problems/TIDRICE/投票回数と投票した人と+/-の表記が与えられる.同じ名前で投票されている場合は最後のものを評価するとき,総合的な投票結果を求める. コード package main import ( "os" "bufio" "fmt" "io" "io/…

GCJ2011 Qualification Round B "Magicka"

問題:https://code.google.com/codejam/contest/dashboard?c=975485#s=p1Google Code Jam nise..nabeで参加.エレメントの融合条件,エレメントの相反条件,素材エレメントが与えられる.素材エレメントの頭からエレメントリストに以下のように追加していく…

GCJ2011 Qualification Round A "Bot Trust"

問題:https://code.google.com/codejam/contest/dashboard?c=975485#s=p0Google Code Jam nise..nabeで参加.二つのロボットがスイッチを押す命令が順番に与えられる.動く,スイッチを押す,待機する,それぞれの行動に1分かかるとき,与えられた命令を遂…

CodeChef December CookOff "The Morning Commute" COMMUTE

問題:http://www.codechef.com/COOK05/problems/COMMUTE/参加形式:本番初参加.とりあえず出てみた.電車の時刻表として始発時間と次の駅までの所要時間と何分ごとに出るかという時間が駅数分与えられる.最初の駅から最後の駅までに到達できる最小の時間…

SPOJ SHORTEN 6088 "Sorting points" XYZ_SORT

問題:https://www.spoj.pl/SHORTEN/problems/XYZ_SORT/必死こいて短くしようとしてみたけどそんなに短くならなかったし,元よりこの問題はGo言語受け付けてなかった.思ったよりもsortパッケージがうまく使えなかった.304B package main import."fmt" func…

Go言語 ヒープの使い方メモ

随分前にやって忘れかけているのでメモ代わりに覚えてる分だけ書く. あんまり良く分かってないので最低限使える分だけテキトーに.container/heapパッケージではヒープを扱う関数がある.たぶん自分定義の型とかに使いやすいのだと思う.intとか元々あるや…

SPOJ 0450 "Enormous Input Test" INTEST

問題:https://www.spoj.pl/problems/INTEST/Go言語の標準入力について.Go言語で標準入力を受けとる方法はいくつかあるみたい. ・fmtのScanf等を使う ・scannerのScannerを使う ・bufioのReaderを使う ・io/ioutilのReadAllを使う

SPOJ 3700 "Easy Dijkstra Problem" EZDIJKST

問題:http://www.spoj.pl/problems/EZDIJKST/Go言語で書き直してみた. package main import ( "scanner" "os" "strconv" "bufio" "container/vector" "container/heap" ) func run() { for t := next(); t > 0; t-- { g := NewGraph(next()) for k := next…

Topcoder Member SRM 474 "PalindromesCount"

問題:http://www.topcoder.com/stat?c=problem_statement&pm=10803 (要ログイン)Go言語で書く練習. スライスを使ってみる. func IsPalindrom(s string) bool { for i:=0;i

Topcoder SRM 475 "RabbitVoting"

問題:http://www.topcoder.com/stat?c=problem_statement&pm=10881 (要ログイン)Go言語で書く練習. mapを使ってみる. func GetWinner(names, votes []string) (winner string) { voted := make(map[string]int,len(names)) max := 0 l:for pos,key := ra…

GCJ2010 Qualification Round A "Snapper Chain"

問題:http://code.google.com/codejam/contest/dashboard?c=433101#s=p0Go言語で書き直してみた. ファイル入力とシフト演算の練習. ファイルから入力で標準出力に出力. package main import ("scanner";"os";"fmt";"strconv") func main(){ filename := …

Topcoder SRM 477 "VacationTime"

問題:http://www.topcoder.com/stat?c=problem_statement&pm=10884 (要ログイン)Go言語で書く練習. import "math" func bestSchedule(N int, K int, workingDays []int) (min int) { min = math.MaxInt32 for i := 0; i <= N-K; i++ { c := 0 for _, wd …

SPOJ 42 "Adding Reversed Numbers"

問題:https://www.spoj.pl/problems/ADDREV/Go言語で書き直してみた.けっこうめちゃくちゃな気がする. package main import ( "scanner" "strconv" "os" "fmt" "bytes" "strings" ) func rev(s string) string { buf := bytes.NewBufferString(s).Bytes()…

SPOJ 24 "Small factorials"

問題:https://www.spoj.pl/problems/FCTRL2/ package main import( "scanner" "os" "strconv" "fmt" "big" ) func main() { var s scanner.Scanner s.Init(os.Stdin) s.Scan(); for t,_ := strconv.Atoi(s.TokenText());t>0;t--{ s.Scan() r:=big.NewInt(1)…

SPOJ 1 "Life, the Universe, and Everything"

問題:https://www.spoj.pl/problems/TEST/Go言語を使う練習として. 標準入力をScannerで使ってみた. package main import( "os" "fmt" "scanner" ) func main() { var s scanner.Scanner s.Init(os.Stdin) tok := s.Scan() for tok != scanner.EOF { txt …