ICPC国内予選2017敗戦記
チーム:kurodoriru5で参加しました
ICPC国内予選
— アゴドリル (@AG0D0R1RV) 2017年7月14日
チーム:kurodoriru5
with@_jau5_ @claw_88
で出ます
本番
Aはソートしてやればいいとc氏に言われ言われるがまま実装
A,AC
Bをj氏と考える
文字列扱う系の問題でj氏が得意な問題だと勝手に思ってた
""の中だけを考えてる問題だと二人とも誤読したりしていた
実装方針が大きく変わってc氏にPCを渡す
Cはc氏がいつの間にACを出していた
問題も見ていない
Bを再びPCでコーディングしていくj氏
できたと思ってサンプル通すとすべてあってた
これは来たと提出
WAが返ってきた
あれー、ということで二人で悩んでいたが最後に何かしらの文字がある時のことを考えてなかったっぽい(詳しくは覚えてない)
サンプル見るとその時のパターンがなくてやられましたねということを話していた
j氏がさくっと直して問題なさそうだったので提出
B,AC
終了まで確か45分くらい
Dを解こうとc氏奮闘、
xorを使う、DPを使うっぽいって確か言ってたなあ
残念ながらDのACを獲得することはできず、短い3時間がおわってしまいました
ABCの3完で113位
学内で4位、RICORAサークル内では2位という結果になりました
感想
楽しかったけど、悔しいです。悔しいけど2ヶ月くらい前から1週間に1回、チームで集まってAOJ-ICPCの過去問を解くなどできる限りでやれることをやってきました。それで進出できなかったので悔しいけど、やりきった達成感もあります。
そして、このチームメンバーと一緒にICPCに出られたことが嬉しいです。このチームは2年生2人、3年生1人のチームなのでみんな来年も出ようとすれば出れるので、もしできるのであればこのチームで来年も出てリベンジを果たしたいなあと1人で勝手に思っています。
サークル内で1位のチームも3完ということで弊サークルからのアジア予選進出のチームは残念ながらいませんでした。
去年のICPC終わってからモチベーションの低下と大学のレポート三昧で全然競プロする時間がなかったと思うので今年はこの悔しさを糧にして頑張りたいと思います。
実装力をつけて来年こそはアジア進出するぞ!
最後に
アジア予選進出した方はアジア地区予選でも頑張ってください!
監督を引き受けていただいたS先生、ありがとうございました。
ICPC 模擬国内予選2017 参加記
チームkurodoriru5で出ました
j氏(RICORAの長)、c氏(葛飾のプロ)、a(私)の3人です
ICPC模擬国内kurodoriru5(@AG0D0R1RV @claw_88 )で出場します! pic.twitter.com/7Y9Jh2Ujo7
— jau5 (@_jau5_) July 2, 2017
毎週土曜のチーム練習で1人1問担当ではなく、ペアプロ方式で解くことになってたのでいつも通りその感じで解いていきました。C,Dは3人で解いてました
14:00(開始予定時刻)
あれ、つながらない
Twitter情報 「15分遅延」
申し訳ありません。コンテストの開始を15分遅らせます。
— ACM-ICPC OB/OG会 (@icpcjag) July 2, 2017
3人「まじかー」
14:15
Twitter情報「遅延」
3人「まじか、運営がんばれ」
15時にコンテスト開始します。今度こそ開始します。
— ACM-ICPC OB/OG会 (@icpcjag) July 2, 2017
15:00開始(0分経過)
3人「お、問題出てる」
a「A解きます」
c「見てます」
j「B見てます」
15:20(20分経過)
c氏にアドバイスもらいながらA実装完了
(言われた通りに実装してた)
a&c「Aできたね」
j氏に提出方法を教えてもらう
15:25(25分経過)A.AC
3人「おー」
j「B書きます」
a「見てます」
15:50(50分経過)B.AC
3人「おー」
c「j氏実装お願いします」
j「指示お願いします」
a「後ろから見てます」
16:30(90分経過)
?「できたけどサンプル合わない」
3人でバグ探す
?「ソートの位置、違うんじゃない?」
「あー、ほんとだ」
直して提出
2WA
?「あれ、何でだ?」
c「ここ違くないですか」(どこかにバグがあった)
j&a「ほんとだ」
直して提出
16:50
C提出
1ケース目AC
2ケース目、通す前に障害発生
Dにいく
17:15(135分経過)
c「D問題二分探索?」
j,a「頼んだ」
17:30(150分経過)C.AC
システム直ったらしい
C,AC
17:55(175分経過)
3人「D問題うまくいかないね、、、」
18:00(180経過)
twitter開いて30分延長を知る
Dを解く
18:20(200分経過)
c「D実装終わった」
j「Dサンプル通った」
コマンドミス、、、不穏な空気が漂う
3人「あれ、やばい」
18:30(210分経過)コンテスト終了
3人「お疲れ様です」
結果
A,B,C3完
93位
よかった点
- 何回かチーム練をしていて、A,Bを今までになく早く解けた(気がする)
- Cのバグを3人で協力して(割と早く)見つけられた
ミスった点
- 入出力コマンドミスでトラブル。D問題を提出できなかった→ファイル名を間違えないように決める
- CでWAを出してしまった
私個人
- Dを解くときまで頭が回らずj氏、c氏の2人に任せきりになってしまって、非常に申し訳なかった→3時間考えきる脳力が必要
- ちょいちょい後ろからミスを指摘できてよかった
まとめ
チーム戦、楽しかった
コンテスト中も笑いありで非常によかった
トラブルがあったけど運営の人たち、お疲れ様でした
本番も頑張る
Sublime Text 3のテーマ・カラースキームを変えた
こんにちは。
Sublime Text 3のカラースキーム・テーマを変えたので変更の方法をまとめたいと思います。
(現在のテーマ:Cobalt2)
デフォルトで入っているカラースキームを使う方法
sublimeにはデフォルトでもカラースキームが豊富に用意されています。
これらを使うには[Preferences]→[Color Scheme]→[Color Scheme - Default] としていくとデフォルトで入っているカラースキームを選ぶことができます。
デフォルトで入っていないカラースキーム・テーマを使う方法
デフォルトで入っていないカラースキーム・テーマを使いたい場合にはインストール作業と設定作業が必要です。
個人的なおすすめ
Cobalt2(←これに変えました!!!)
青基調の爽やか系。良さみが深い。
設定
"color_scheme":"Packages/Theme - Cobalt2/cobalt2.tmTheme", "theme":"Cobalt2.sublime-theme"
Tech49
ダーク系でかっこいい。
設定
"color_scheme":"Packages/Theme - Tech49/Tech49.tmTheme", "theme":"Tech49.sublime-theme"
material -Darker
ダーク系だけど、Tech49に比べて落ち着いた色合いでよいです。
設定
"color_scheme":"Packages/Material Theme/schemes/Material-Theme-Darker.tmTheme", "theme":"Material-Theme-Darker.sublime-theme"
こんな感じでテーマを変えてsublimeをカスタマイズしてみてください!
P.S.早くライセンス買わねば
参考・参照した記事
Sublime Text のテーマやカラースキームを変更する方法 - 情報系大学院生のWebメモ
コードがはっきりと見やすくて、使いやすい Sublime Text 3 のテーマのまとめ | コリス
ABC031B 運動管理
レポートが進まないのと、Virtual Contestでやったので書きます
解法
与えられたA_iがL,Hの大小と比較して場合分け
①A_i < Lの時、L-A_iを出力
②L ≦ A_i ≦ Hの時、0を出力
③h < A_iの時、-1を出力
コード
#include <iostream> using namespace std; int main(){ int l,h,n; cin>>l>>h>>n; for(int i=0;i<n;i++){ int tmp; cin>>tmp; if(tmp<l){ cout<<l-tmp<<endl; }else if((l<=tmp)&&(tmp<=h)){ cout<<0<<endl; }else{ cout<<-1<<endl; } } return 0; }
ABC052B Increment Decrement
Virtual Contestやったので書く
方針
問題にもある通り、sのi番目がIかDかを見て、xの値を変えていく
この際、最大値を保持する変数を1個用意してそこに最大値を保持する
(以下のコードの場合、ans)
xの値とansの値を比較してxのほうが大きい場合はansにxを代入することで最大値をとることができる
コード
#include <iostream> #include <string> using namespace std; int main(){ int n,x=0; string s; int ans=0;//最大値を保持する変数 cin>>n>>s; for(int i=0;i<n;i++){ if(s[i]=='I')x++; else if(s[i]=='D')x--; if(x>ans){//xの値が現在の最大値より大きいとき、最大値を更新する ans=x; } } cout<<ans<<endl; return 0; }
ABC003B AtCoderトランプ
方針
S・Tのi番目を比較していく
- 同じ場合→何もしない
- 片方が@のとき、他方がa,t,c,o,d,e,rのいづれか→何もしない
- それ以外→条件に適していない→ループを抜ける
コード
#include <iostream> #include <string> using namespace std; int main(){ bool flag=true; string s,t; cin>>s>>t; for(int i=0;i<s.size();i++){ if(s[i]==t[i]){ continue; }else if(s[i]=='@'){ if(t[i]=='a'||t[i]=='t'||t[i]=='c'||t[i]=='o'||t[i]=='d'||t[i]=='e'||t[i]=='r'){ continue; }else{ flag=false; break; } }else if(t[i]=='@'){ if(s[i]=='a'||s[i]=='t'||s[i]=='c'||s[i]=='o'||s[i]=='d'||s[i]=='e'||s[i]=='r'){ continue; }else{ flag=false; break; } }else{ flag=false; break; } } if(flag){ cout<<"You can win"<<endl; }else{ cout<<"You will lose"<<endl; } }
ABC002B 罠
方針
母音を除いて出力する
注意
最後に改行を忘れないようにする
コード
#include <iostream> #include <string> using namespace std; int main(){ string s; cin>>s; for(int i=0;i<s.size();i++){ if(s[i]=='a'||s[i]=='i'||s[i]=='u'||s[i]=='e'||s[i]=='o')continue; else cout<<s[i]; } cout<<endl; return 0; }