INSTALL HASKELL for OSX Yosemite
環境は OSX Yosemite 10.10.1 です。
※brewのインストールなどは済んでいるものとして進める。
How to install
少し前までは
$ brew install haskell-platform
でインストール可能だったが、現在はできない。
$ brew install haskell-platform Error: No available formula for haskell-platform We no longer package haskell-platform. Consider installing ghc and cabal-install instead: brew install ghc cabal-install A binary installer is available: https://www.haskell.org/platform/mac.html
なので以下の手順でインストール
$ brew install ghc ~~ $ brew install cabal-install ~~ $ cabal update ~~ $ cabal install cabal-install ~~
何をインストールしているのか、どんな構造でHaskellを管理しているのかについては以下の記事が参考になる。
Haskellのパッケージ管理について調べてみた - りんごがでている
How to use
まずはインタラクティブなインターフェイスとコンパイルのコマンドから。
$ ghci GHCi, version 7.8.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude> 1 + 1 2 Prelude> 2 ^ 3 8 Prelude>:q Leaving GHCi.
このようにしてHaskellに対してインタラクティブなインターフェイスを実行可能。
続いてコンパイル。以下のようなファイルを用意。
helloworld.hs
main = putStrLn "Hello World!"
以下ようにしてコンパイル
$ ghc helloworld.hs [1 of 1] Compiling Main ( helloworld.hs, helloworld.o ) Linking helloworld ...
実行ファイル他、ファイルが吐きだされるので実行
$ ./helloworld Hello World!
とりあえず、こんな感じです。
codeforces Round #176
1/22(木) TPC練習会
A問題
めっちゃ汚い
#include<iostream> #include<string> using namespace std; int main() { string in[4]; for(int i=0;i<4;i++){ cin >> in[i]; } for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ int cnt = 0, cnt2 = 0; if(in[i][j] == '#')cnt++; if(in[i+1][j] == '#')cnt++; if(in[i][j+1] == '#')cnt++; if(in[i+1][j+1] == '#')cnt++; if(in[i][j] == '.')cnt2++; if(in[i+1][j] == '.')cnt2++; if(in[i][j+1] == '.')cnt2++; if(in[i+1][j+1] == '.')cnt2++; if(cnt >= 3 || cnt2 >= 3){ cout << "YES" << endl; return 0; } } } cout << "NO" << endl; return 0; }
B問題
二分探索
#include<iostream> #include<vector> #include<algorithm> typedef long long ll; using namespace std; int main() { ll n, k; cin >> n >> k; ll l=0,r=k-1,mid,ans=-1; while (l<=r) { mid = (l + r)>>1; if ((2*k-mid-1)*mid>=2*n-2)r=(ans=mid)-1; else l=mid+1; } cout << ans << endl; return 0; }
C問題
n=4,5,6とかその辺を手元シミュレートでパターンが得られる。
#include<iostream> #include<vector> #include<algorithm> #include<map> #define mp make_pair using namespace std; int main() { int n; cin >> n; if(n%4>1){ cout << -1 << endl; return 0; } int rem = n%4; for(int i=0; i<n/4; i++){ cout << n-2*i-1 << ' ' << 1+2*i << ' '; } if(rem == 1){ cout << n/2+1 << ' '; } for(int i=n/4-1; i>= 0; i--){ cout << n-2*i << ' ' << 2+2*i << ' '; } cout << endl; return 0; }
DEはいつか挑戦する。
CODE THANKS FESTIVAL B日程 参加記
CODE THANKS FESTIVAL B日程 参加してきました。
@everysick CODE THANKS FESTIVAL 行きます?
— 俺がSingletonだ (@0x_osyoyu) November 17, 2014
女子中学生に誘われたし仕方ないね。
家を出発してからがCodefes
朝
めっちゃ寒い
I'm at Tsukuba Station in つくば市, 茨城県 https://t.co/WCGQa7kx4Z
— しっく (@everysick) December 14, 2014
到着
眠ってたら着いた
I'm at テレコムセンター (Telecom Center) in 江東区, 東京都 https://t.co/O3g48d5LTf
— しっく (@everysick) December 14, 2014
会場 IN
思ってたより軽いふいんき(何故か変換できない)で「おーっ!」とか言ってた。
というのもJOIとPCKって堅苦しい会場ってイメージが強かったから。
適当に受付を済ませて叙々苑の焼き肉弁当をもらう。
生chokudai
係員にも"ちょくだい"って呼ばれてて、一瞬本名が"ちょくだい"だと疑ってしまった。
\キャーチョクダイサーン/ #codefes
— しっく (@everysick) December 14, 2014
セキュリティ意識が低い
脆弱性がいっぱいだ(ロックしてないPC多数) #codefes
— しっく (@everysick) December 14, 2014
chokudaiさんの大げさな「オープンコンテストには参加しないでください!」
を聞きつつ焼き肉弁当を食べる。美味しい。
競技開始
着いて弁当食べてたらあっという間に競技時間になった。
- 問題数は8問
- 3時間
- WAペナルティは無し。
- 1~10位には焼き肉招待
- 5完でトートバッグ
- 各問題のFAはAmazonGift券
競技への心意気↓
FAとるぞ #codefes
— しっく (@everysick) December 14, 2014
で、12:00に競技開始。
開始から12秒後
AのFAとった #codefes
— しっく (@everysick) December 14, 2014
やったぜ。
FAとったら風船もらいました。
AのFAです pic.twitter.com/OKVW0935F1
— しっく (@everysick) December 14, 2014
結果は
◯◯◯◯◯◯××
6完20位でした。
Fで迷わなければもうちょい上に行けたかなーとか。
Gのバグは辛かった。
コードはAtcoderにあります。
表彰・解説
AのFAでAmazonGift券hoge円分もらいました◝('ω'◝)
一人で3FAとった人とかいてガチプロって感じだった・・・。
もうchokudaiさんが「ドコドコドコドコ」言ってたのしか覚えてない。
Hの解法聞いてうんうんなるほどなるほど。
懇親会
寿司!ピザ!肉!
正直弁当食べてたのでそんなにお腹空いてなかったけど、折角なのでたくさん食べた。
一方おしょーゆさんは
.@0x_osyoyu がDDRに夢中である
— しっく (@everysick) December 14, 2014
食欲よりDDR欲が勝ったっぽい(適当)
書道コーナーがあったので、CodeThanksFestival っぽい書道してきました。
CTFしてきました #codefes pic.twitter.com/OIVRTo7BgS
— しっく (@everysick) 2014, 12月 14
そんな感じ。
家に帰るまd・・・?
💢💢💢💢 (@ 池袋HUMAXシネマズ - @humax_ikebukuro in 豊島区, 東京都) https://t.co/TwrXM61nc4
— しっく (@everysick) 2014, 12月 14
@0x_osyoyu に誘われて来てしまった・・・。
英語の課題が終わってないとはなんだったのか。
(デートじゃ)ないです pic.twitter.com/B9f87ka8CL
— しっく (@everysick) 2014, 12月 14
実際ハッピー
楽園追放見てサイコーの気分(英語の課題をサイゼでこなす顔)
— しっく (@everysick) 2014, 12月 14
おわりに
CodeThanksFestivalお疲れ様でした。
またRECRUIT・Atcoderの皆様、ありがとうございました。
変わった雰囲気のコンテストで楽しかったです(小並感)
来年は本選に行きますね。