はじめに [ プログラミングコンテストとは? ]
まず、どのようなことを行ったのか簡単にご説明します。
問題ファイル
- 1行につき以下の形式で問題が書かれている
- [行インデックス,列インデックス]+[行インデックス,列インデックス]=
- 行インデックスは0始まり
- 列インデックスは0始まり
- [行インデックス,列インデックス]+[行インデックス,列インデックス]=
- 空行は存在しません。
- 行インデックスと列インデックスが範囲外の地点を指す可能性は考慮しなくて良い
入力ファイルと問題ファイルと結果の例
入力ファイルが3x3で
1,5,3
2,8,1
9,2,6
で問題ファイルが、
[0,1]+[2,2]=
[2,0]+[1,1]=
の場合は、結果は以下のようになります。
11
17
パターン
入力ファイルと問題ファイルの組み合わせで以下の3つのパターンが存在します。
- SMALLパターン
- 入力ファイル: 100行100列。各要素の値は1〜100の整数
- 問題ファイル: 100個の演算式
- MEDIUMパターン
- 入力ファイル: 10,000行10,000列。各要素の値は1〜10,000の整数
- 問題ファイル: 100個の演算式
- LARGEパターン
- 入力ファイル: 10,000行10,000列。各要素の値は1〜10,000の整数
- 問題ファイル: 10,000個の演算式
順位付け
以下のルールでランキングを競います
- プログラムの開始から終了までの実行時間が短いものが上位
- コンパイルエラーは失格扱い
- 実行中の例外は失格扱い
- 計算結果が誤っている場合は失格扱い
2021年入社 Y.S
ずっと楽しみにしていたプログラミングコンテストが終わりました。結果も自分の中では満足のいく結果が出せたかなと思います。
このプログラミングコンテストでは、アルゴリズムを多少工夫することで、現実的には解決することのできない問題を解くことができるということを再度実感しました。
大学院の頃に研究で、計算時間を意識する問題を扱っていたので、(モノとしては全然違いましたが)とても懐かし気持ちと楽しい気持ちで終えることができました。
プログラミングコンテスト自体は一週間の期間が用意されており、その期間はずっとプログラミングコンテストのことについて考えていました。
普段の研修課題では同期の人たちと相談し合いながら、分からない部分を教え合いながら進めていましたが、このプログラミングコンテスト期間は同期の方とはほとんど相談をすることなく取り組んでいました(コンテストなので、できるだけ自分の力でという気持ちがありました)。