【東京通信大学】ICPC予選に初挑戦!~7月5日~
こんにちは。最近ブログサボりがちのpalmです。
なぜサボっていたかと言うと、やっぱり情報発信しているとじわじわくる「病み期」的なのが訪れてきます。
「最近変な投稿してるかも😭恥ずかしい」とか「Viewが伸びなくてやる気出ない」とか。
期間を開けるとそんな悩みはどこかに飛んでいくので、承認欲求も強めな筆者はブログを本日再開することが出来ました。
ということで本題に入ります✨️
ICPCに参加してみた感想
私たちの通っている東京通信大学では、ウルズニャーさんという方の呼びかけもあり、なんと本校から「5チーム」も参加しました。
私たちのチーム名は「Go TOU」
組み込みエンジニアのHさん(男性)とPCにとても詳しい様々な言語も適応している経験豊富なTさん(女性)とチームを組みました。
プログラミング経験もそこまで無い私にとってはかなり身に余る光栄なメンバーでした。
参加する大学を見てみると、難関国立大学ばかりでした。
しかし、これらの大学生に元から勝つ気はありません。
私たちの目標は
- 最低2問は解く
- 記念参加で思い出になるような日にする
ことでした。周りの東京通信大学生のチームもこんな感じの目標です。
予選が終わると、全チーム2問目までクリアしている様子でした。前年と比べるとA,B問題はかなり簡単になっている様子でした。
本校でICPCやプログラミングのイベントに参加してみたいと思っている在校生やこれからの入学生でも気軽に参加できることがわかります。
私たちの大学の予選は、新宿の「コクーンタワー」で行われました。
実際の様子
私たちのチーム「Go TOU」は、3問目(C問題)まではメンバーの活躍のお陰ですぐにクリアすることができました。
これは、A問題のソースコードです!
1fi = open('input.txt', 'r')
2fo = open('output_python.txt', 'w')
3
4while True:
5 #ファイルからnを読み込む
6 n = int(fi.readline())
7 if (n == 0):
8 break; #n=0で終了
9 print("n:",n)
10 #aを整数型リストに変換して読み込む
11 a = [int(s) for s in fi.readline().split()]
12 #変数を初期化
13
14 ans = 0
15 #書き込み
16 for i in range(n):
17 ans += a[i]
18 if 300 < ans:
19 ans -= a[i]
20
21 print("ans:",ans)
22 fo.write(str(ans)+"\n")
23
24fo.close()
25fi.close()
このような入出力用コードを事前に準備しておきます。
A,B問題はメンバーの助言もあり、私がコードを書いて解くことができたみたいです。嬉しい☺️
しかし、4問目(D問題)になると急激に難しくなりました💦
小さな入力数字までの出力は、難なく終わったのですが、入力する値が大きすぎて処理速度が間に合わなく、それを実装するためのコードが最後まで分かりませんでした。
このプログラムはメンバーがCで書いていたのですが、Pythonならその処理速度にかなうコードがかけたかもしれなかったです。書いてもらったプログラムの内容もわからなかったので、Pythonで再構築することができませんでした。私の完全な力不足でした。
しかし、目標の2問を解くことができて、さらに3問目までクリアできたので悔いはありませんでした!
全国で210位でした✨
大会後の打ち上げについて🍻
3時間という予選大会は不思議とあっという間でした。
会場であるコクーンタワーの教室の片付けを終えると、監督をしてくださった東京通信大学の教員たちを引き連れて、全5チームのメンバーと打ち上げの会場に向かいます。
参加していただいた教員の中にはよく授業で見る教員もいてテンションが上がりました!
貴重な話を直接聞くことができて楽しかった(^-^)v
生体も映像授業で見るまんまでした。
滞在時間は21時から22時くらいまで。少ない時間だったけど、様々な交流ができ、メンバーみんなと仲が深まった気がします!
おわりに
来年もICPC開催してたら行きたいな🥺
少人数で初心者でも取り組める問題もあるので、つよつよぷろぐらまーと繋がりたい・仲良くなりたいTOUの方や入学生におすすめです。フランクな教員ともすぐ仲良くなれますᐢ ⩌ ̫ ⩌ ᐢ👍🏻
最後まで読んでいただきありがとうございました!