
MSTUの学生のための最後の選手権の決勝-写真MDovzhenko
ルールは単純です-さまざまな複雑さの5つの「オリンピアード」タスクに加えて、入力データの複雑なセットで相手のソリューションを「クラック」する機能。 つまり、最初にコードを記述し、次に他の誰かのコードを「破壊」します。 公式には、これはすべて、 CROC-2013全ロシアオープンプログラミングチャンピオンシップと呼ばれ、コードフォースとサラトフ州立大学の支援を受けています。
個人クレジット、賞金-1位で100,000ルーブル、2位で7万ルーブル、3位で5万ルーブル。 さらに、追加のゲームコンペが開催され、その勝者には賞も授与されます。 ロシア連邦のファイナリスト-モスクワへの無料旅行、2日間の食事と宿泊。
昨年も同様のイベントが開催され、約1,500人が参加しました(予選ラウンド)。したがって、今年のスキームは次のようになります。
- 予選ラウンド-4月13〜14日、リモート(次のステージに進む参加者は2000人以下)。
- 最初の予選ラウンド-4月15日、リモート(参加者400人が合格)。
- 2回目の予選ラウンド-4月22日、リモート(参加者50名が合格)。
- チャンピオンシップファイナルは5月16日と17日にモスクワのCROCオフィスで開催されます。
5つの問題のすべてのラウンドで、最終段階に近づくにつれて、複雑さがわずかに増加します。
規制
18歳以上の学生と若い専門家が参加するよう招待されています。 自分が決勝戦に参加していないことを最初に理解し、同僚の余分な競争相手になりたくない場合は、競技会の外に参加する機会もあります。
トーナメントは次のように開催されます。
- 登録を申請しています。
- コードフォースの規則を取得します。 すでにアカウントをお持ちの場合は、登録時に指定できます
- 指定された時間に、サイトからリマインダーが届きます。サイトに行き、タスクの条件を読んでください
- それらを解決し、コードをCodeforcesサーバーにコミットします。
成功したソリューションへのコミットが早ければ早いほど、タスクに対して得られるポイントが多くなります。 したがって、いくつかの有効なソリューションがある場合、自分でコミットした方が勝ちます。 しかし、失敗した場合-罰金。
決勝に到達すると、すべてがより興味深いものになります。
- あなたはモスクワに来ます。 小さな街を紹介し、人工知能のプログラミングを競います。 それは常に異常です。 たとえば、前回のチャンピオンシップでは、ウィザードロボットの戦いがありました。参加者はボットのアルゴリズムを作成し、他のボットとともに世界にロードし、誰がよりクールであるかを見ました。 ここでビデオを見ることができます。 今年はその伝統が守られ、別の驚きを準備します。
- 競技の2日目、道路の後ろで休むと、特別な装備の部屋にいることに気づきます。 WiFi、ソケット、ローカルマシンがあり、ルールで規定されているすべての言語をカバーする一連の開発環境を備えています。 通常、すべてのユーザーがそのようなマシンを使用するわけではありません。なぜなら、別のキーボードからラップトップまで、あらゆるハードウェアを使用できるからです(できれば)
- 通常のアカウントを使用してサイトにアクセスし、タスクを取得して解決します。
- 自分のタスクを解決した後(それ以降は作業できなくなります)、参加者は他の参加者の同じタスクの確認済みソリューションのソースコードを見ることができます。 あなたは彼らにテストを提供することができます。つまり、彼らのソリューションを「クラック」しようとします。 ハッキングに成功した場合-ボーナス、失敗した場合-罰金。
トーナメントの開始前に、ルールのリマインダーと技術的な詳細の説明を含む開会の挨拶があります。 次に、数時間のコード、昼食、そして結果の発表。
チャンピオンシップ中は、安全にトイレに行き、喫煙し、コーヒーを飲み、食べることができます。
タスク
タスクは抽象的であり、プログラミングの日々の実践には特に関係しません。 主なタスクは、プログラミング手法を評価すること、および効果的なアルゴリズムを発明する能力、そして最も重要なことです。 ここにいくつかの 例があります。
アルゴリズムの並べ替え、コードの準備などのために、任意のベストプラクティスを使用できます。 フラッシュドライブを持ち込むことができます。 インターネットへのアクセスはCodeforcesサービスのみであり、接続を使用することはできません。
前回のトーナメントでは、入力データを受信する前にプリキャリブレーションを使用できるかどうか、たとえばベースが限られている可能性のあるすべてのソリューションの計算ミスについての質問がありました。 はい、できます。サインテーブルや、突然必要になる他のものを計算できるのと同じようにできますが、実際に役立つ問題はありません。
ヒント
- 第一に、ラウンドの前に十分な睡眠を得られない人が多い。 人生は冒険に満ちていることは明らかであり、常に眠るのは残念ですが、考えてみる価値はあります。
- 第二に、最大スコアで最も難しいタスクをすぐに把握しないでください。 予備ラウンドで「スタック」し、ポイントをまったく受け取らない人の多く。 テーブルの真ん中のどこかに来たほうが良いが、予選ラウンドではどんどん高くなっていく。 すでに決勝では、最も難しいタスクから始めることが可能になります。
- 第三に、コミット直後にハッキングに夢中にならないでください。 最適な戦略は、最大の問題を解決し、すべてが既に完了している場合、または解決する時間がもうない困難なタスクがあることが明らかな場合に、他の問題を解決することですが、それでも、ブレークするためのポイントを獲得する可能性があります。
- 第4に、インターネットが利用できるにもかかわらず、解決策を探すのに時間を無駄にしないでください。実際には、解決策が見つからないことがわかります。
- 第5に、チャンピオンシップの前に、標準のオリンピックトレーニングを実行する価値があります。メモリ内の基本アルゴリズムを更新し、離散数学のコースを確認することをお勧めします。
すべてのタスクにはメモリと実行時間の制限があります。 サーバー構成-Intel E6720 2.67Ghz、RAM 3Gb、Windows7。ただし、アーキテクチャー用にコンパイラーを準備する必要はありません。コミット中のコードのみ、コンパイルはチャンピオンシップサーバー自体で既に行われます。 制限時間は非常に忠実です。
ただし、さまざまな開発環境が利用可能であるという事実を考慮すると、時間が重要なタスクでは、より高速なものを使用することをお勧めします。 たとえば、Pascalファミリ全体がありますが、選択した場合、コードを非現実的に最適化する必要がある可能性が非常に高くなります。
よくある質問
-トピックの公開時に何人が登録しましたか?
約1000人。
-正確なルールはどこにありますか?
まさにここ 。
-タスクは20個のうち19個のデータセットを完了しました。少なくとも1つのポイントを獲得できますか?
いいえ、わかりません。 私たちはすべてを通過しなければなりません。
-私はロシア市民ではありません。 参加できますか?
はい しかし、モスクワへの道は、ロシア連邦の市民であるファイナリストにのみ支払うことを検討する価値があります。 外国人が決勝戦に出場する資格がある場合、モスクワでの部屋代と食事代のみ、道路なしで支払うことができます。
-女の子は何人になりますか?
このような選手権の決勝戦を開催して2年間、約5人の女の子を見ました。 残念ながら、これまで誰も賞を受賞していません。
-私は45歳で、あごひげを生やしており、学生です。 できますか
はい 学生ではなくひげを生やしてもかまいません。
-最後の決勝からの報告はありますか?
写真レポートと参加者レポート 。
-私が18歳でない場合、少なくとも予選および予選ラウンドに参加する機会はありますか?
はい、システムが過負荷になっていない場合。 おそらく-問題ではありませんが、残念ながら決勝戦には進まないでしょう。
-登録はどこですか?
公式登録はこちらです。 「大学」フィールドに何を書くべきかわからない場合-「ヌル、しかし私は高校を卒業しました」、職場、または実際の状況を反映する他のものを書きます。 コンテストから登録したい場合(決勝に行く機会はありませんが 、CFの評価のため)、 ここにいます。
-かっこいいけど、できません。 次の選手権はいつですか?
競争に参加しないようにしてください。 うまくいかない場合-チャンピオンシップは毎年開催され、さらに多くのコンテストやコンテストがあります。 100万ルーブルの賞を獲得した飛行ロボットの競争については、登録は既に終了していますが、当社の企業ブログをHabréでフォローできます。主要なイベントが発表されます。
念のため-1 つ 、 2つ 、 3つのビデオ。