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の皆様、ありがとうございました。
変わった雰囲気のコンテストで楽しかったです(小並感)
来年は本選に行きますね。
セキュリティ・キャンプ2014参加記
ただいまつくばです。帰宅しました。
8/12 - 8/16 間でセキュリティ・キャンプに行って参りました。
クラスはWebセキュリティクラスで、チームは「セキュアぴょんぴょん」でした。
ここに参加記を示します。なお事前課題や応募用紙については面倒なのでカット。
もし消してほしいなどの要望があれば、リプライなど飛ばしてください。
※オフレコかどうかごっちゃになったので概要しか触れませんご了承ください。
【Day1】
12時集合割とぎりぎり。残り3人って感じで会場ゴールしました。
I'm at クロス・ウェーブ 幕張 (X-WAVE) in 千葉市美浜区, 千葉県 https://t.co/XncuU0Eo6j
— しっく (@everysick) August 12, 2014
会場ついてからは名刺交換フェイズ。
既視感のある人たちに名刺配った後、突っ立って交換してくれる人待ちしていました。
Yes 人見知り. Not コミュ障.
ちなみに名刺は緑色のかっちょいい名刺だったのでした。TwitterIDとか記載してなかったので一致シなかった人はここで認知しちゃってください(?)
最初は全体で「セキュリティとはなんぞや」というハナシ。
正直あまり記憶に残っていませんが、"技術の悪用ダメ。絶対" は心得ています。
続いて特別講義で、筑波大の大先輩かつソフトイーサ社会長である登 大遊さんによる色々なハッキングの話。
改めて聞いてほんとぶっ飛んでるなと思いましたw
(講義後から大学名名乗ると相手の反応が変わったのは秘密です)
特別講義もう一つ。警察大学校 サイバーセキュリティ研究・研修センターの萬谷 暢崇さんによる講義でした。
この講義はたしか結構お外に出しちゃいけない話が多かったの省略。
ただ、めずらしいお話が聞けて良かったです(小並感)。
夕食後、最後に専門講義。概要の説明くらいでしたが、ここで今回講義で大活躍(したようなしなかったような)Flameを貸していただきました。
作ってきたアプリ突っ込んだら完全にお通夜状態だったのはここだけの秘密です。
講義終わって、最高に疲れた状態で睡眠に至る。
【Day2】
夕食後までは延々と専門講義です。これが楽しい。
午前中はHTML5で増加した脅威、SOP、CORS、スマホ通信の監視、クライアント側のセキュリティについて重点的にやると説明を受けたあと、超特急で基本的な講義が行われました(事前学習頑張って良かった・・・)。
個人的には国分さんと上野さんの講義に結構興味&関心持てました。スマホ監視( 'ω' )! 体系的なセキュリティに対するお話( 'ω' )!
スマホ監視については、以前挑戦したことがあって挫けたので、またやりたいですね。
午後はMozilla Japanの浅井さんにFirefox関係のお話をいただきました。
asm.js早いなーって思ったんですがあのい記事2013年のものなんですね。現状も調べてみたいです。
浅井さんのお話を聞いているともう全部Webでいいんじゃないかとか思ったりしました。
まぁ、Webだけじゃできないこともまだまだあるのでそうはいかないんでしょうけれど・・・。
その後は西村さんによるFirefoxOSに関する総計14時間の講義。
資料まで用意してくださっていてメモなどの際は助かりました。
夕食後はBoFとかチューターの方による成果発表。
海外のセキュリティ事情とか聞けたほか、Bitcoinについても少し触れました。
【Day3】
午前中に企業訪問に行きました。
場所はNTTさんです。
主にセキュリティに対する技術とか、具体的な対策案やアルゴリズムについてのお話でした。
あとはNTT-CERTとかCSIRTについてのお話も。全部メモったので、興味ある分野についてはあとで調べてみたいと思います( 'ω' )!
午後は専門講義!この日は就寝時間までミッチリです。
何個か講義と説明を受けた後、はせがわさんと西村さんの作成した脆弱性たっぷりのFirefoxOS用お手製SNSに対して脆弱性を見つける演習が始まりました。
始まってすぐは
('ω’)。○(???????????????????????)
って感じで、何から手をつければ良いかわからなかったんですが、グループの方に「こんなことできる」など聞いた後はゴリゴリ脆弱性攻められたと思います。なおFlameはほとんど使ってn(ここでにしむねあさんによる制裁)
手を動かすってこういうこと何だなぁと実感です。
【Day4】
専門最後の日。寂しかったですね。もっとやらせろと。
各班で脆弱性について発表して、最後にKinugawaさんの脆弱性報告についてのお話や、講師の方々によるセッションなど。午前中のみでしたが、かなり充実していたのを覚えています。
発表準備でこんなことがあったけどどうにかなりました・・・。
keynoteぶっ飛んだwwwwwwwwww
— しっく (@everysick) August 14, 2014
午後はいよいよCTF。「セキュアぴょんぴょん」は得点2403点で4位。同班のネットワーク・セキュリティクラスの方が個人で2位を受賞していました。すごい。
個人的にはWeb問題を何問か解いて、Flame持って会場走り回ってただけなのでそんなに貢献できなかったです・・・。
終わった後はめっちゃ疲れて寝落ちしてました。めっちゃ寝れた。
【Day5】
寝坊からの朝食ぶっち。コンビニで買いだめしておいたパンがあったので一命を取り留める。
グループワークの発表がありました。テーマは結構適当に決まってしまった「家具インジェクション」で、やべぇよやべぇよ言いながら詰めました。ファービーに感謝。
残りは各クラスによる発表やら閉会式やら授賞式。
「あーもー終わりかー」と、ちょっと切ない感じがあったような無いような。
最後に協賛企業や講師の方から本などを頂きました。後の写真に載ってます。
上野さんからサイン貰えたのはかなり嬉しかったです。ほくほく。
【総括・感想】
"挫折した"とか"自信になった"とか色々聞きますが、自分にとっては良いスタートの準備ができたのではないかと考えています。というのも最後の挨拶でも言いましたが、守る側ではなく攻める側の視点にたってクライアントサイドのセキュリティについて対策をすることは、今までまったくと言っていいほど考えていませんでした。そのため変な脆弱性を埋め込んだり、エスケープをまったく行っていなかったりしていたので、今考えると鳥肌がたちますね。ジョワジョワ。話が逸れましたね、ようはそういう違った観点から見るセキュリティ機構に関して基本的な知識と応用した対策などを"知る"いい機会になったわけです。"知る"ですから、"会得"したわけではありませんし時間が経てば忘れてしまいます。そういう意味では閉会式で国分さんがおっしゃていたまだ消化(昇華)し切れてないというのはもっともだと思います。テンションの高いうちに、"会得"できるよう、一所懸命手を動かしたいと思います。
セキュリティ・キャンプ関係者や講師陣の皆さん、5日間本当にありがとうございました。
目指せチューター!目指せ講師!お疲れ様でした!!