MN-Core Challenge (original) (raw)

お知らせ

2024/10/03 賞金受け取り方法

ログインすると、対象者にはメニューバーの Tips の横に「Get Prize」の項目が表示されます。

そちらのフォームに必要情報を記入し、10/18中(JST) までにご送信ください。

2024/09/24 アンケートご協力のお願い

MN-Core Challenge のコンテストが終了しました。

長期間のご参加ありがとうございました。

今後の改善のため、以下のアンケートにご協力いただければ幸いです。

https://forms.gle/UPPSG5ALgSksLsWk8

※特別賞のためのアピールをされる方もこちらからお願いします

なお、順位表の凍結解除は 9/24 中を予定しております。

2024/09/19 懇親会募集開始のお知らせ

コンテストの振り返り・解説・懇親会の募集ページを公開しました!

下記connpassページよりぜひご参加ください。

https://preferred-networks.connpass.com/event/331402/

過去のお知らせ 2024/09/18 許容誤差についての補足

特に許容誤差の書かれていない問題については、テストケース入力に対する出力が正解値と完全一致する必要があります。

正確には、浮動小数点数はfloat(HalfおよびFloatの場合)またはdouble(Doubleの場合)に変換されて比較され、MN-Core上で複数の表現がある0や無限大は同一視されます。

2024/09/13 懇親会の告知

コンテスト終了後の9月25日(水)19時より、MN-Core Challengeのコンテスト振り返りなどを行う懇親会を開催する予定です。

大手町のオフィスでのオフライン参加に加え、配信も予定しております。ぜひご参加ください。

後日に参加のための Connpass ページを公開します。

2024/09/13 入力依存解について

現在、テストケース依存解が少々確認されておりますが、正答として扱います。

これ以降テストケースを変更してのリジャッジは行いません。

なお、現在の の解法はテストケースに依存していません。

2024/09/12 L1BM、L2BMのラップアラウンド動作について

PE命令によるL1BMおよびL2BMへのアクセスで、ラップアラウンド動作(アドレスがメモリサイズを超える場合にアドレス0側に戻る動作)せず意図しないアドレスにアクセスすることがわかりました。

仕様としてはラップアラウンドするのが正しく、将来的にはエミュレータを修正予定ですが、修正版のエミュレータが提供されるまでの間は、お手数ですが利用するL1BMやL2BMのアドレスを全体的にずらすなどして、ラップアラウンド動作が発生しないよう対処していただくようお願いいたします。

なお、L1BM全域を利用しているなどでそのような対処が難しい場合はご相談ください。

2024/09/12 Tipsのリンク修正

行列演算の図まとめページからのリンク先を一部修正しました。

2024/09/06 SDM更新と問題ページへの説明の追記

ソフトウェア開発者マニュアルを更新しました。

日付が9/6になっているものが最新版となります。

更新内容は以下のとおりです。

また、問題ページに説明を追記しました。詳細は以下のとおりです。

参加者より、Transposeにおいて入出力条件を満たさないコードが一部通りやすい状況である点をご指摘いただきました。

これを利用した入力依存解が入力非依存解よりも短くなることはないと考えておりますが、参加者の方々が入力依存解を心配して取り組むのは望ましくないため、テストケースの変更を行い、リジャッジを実施しました。

リジャッジの結果、16行以上の一部提出の正誤判定が変化しました。

お手数ですが各自 Submissions よりリジャッジ結果をご確認いただければと思います。

2024/08/30 機能追加と修正

ソフトウェア開発者マニュアルを更新しました。

日付が8/29になっているものが最新版となります。

更新内容はp60-p61「3.6.1.6 m - LM0 (ベースアドレスレジスタ書き込みを除く)」のアドレス計算式にあった誤りの修正です。

2024/08/29 wait命令に関する補足

count upの問題文にMV命令・wait命令について追記しました。

本コンテストではwait命令なしで問題を解くことができます。

2024/08/28 練習問題の想定解とヒントの公開

練習問題のヒントと想定解を各練習問題ページの下部に追加しました。

2024/08/28 Tipsへの追記

Tips集 に、MN-Coreの機械語と構造に関する解説を追加しました。MN-Coreの理解向上にぜひお役立てください。

賞金のセクションに以下の一文を追記しました。

「さらに、上位入賞者にはコンパイラエンジニア採用で選考過程の一部免除のオファーをさせていただきます。」

2024/08/27 練習問題の模範解答掲載の予告

本番開始1時間前の 8/28 12:00(JST) 頃に各練習問題ページの下部に模範解答を掲載いたします。

2024/08/27 アセンブラ修正

アセンブラの軽微なバグを修正しました。

お手数をおかけしますが、ローカル環境を構築されている方は judge.zip の再ダウンロードをお願いします。

なお、これまでの提出には影響はなく、また練習問題に挑戦する際に大きな影響のある修正ではありません。

2024/08/27 練習問題のヒントの補足

練習問題は MN-Core の動作について順を追って理解していただくために、Plus 2 は複数 PE ではなく単 PE 用に入力を小さくしています。

そのため、公開されているテストケースに依存した解法を用いることで、\(5\) 行で解答できます。

\(3\) 問目の A+B 以降ではテストケースが十分に大きくなり、また強固なテストになるように作成されているため、テストケースの内容依存で短くする解法は無いと考えています。

そのためテストケースに依存せず、問題文や入力の制約だけ考慮した考察で楽しんでいただけると考えております。

なお、弊社の不手際によりテストケースに問題が見つかった場合には、テストケースを修正しリジャッジすることがあります。その際はご了承下さい。

2024/08/26 練習問題のヒント

練習問題には説明順序の都合上、テストケースの弱さを利用することで現在の \(2\) 行, \(6\) 行, \(6\) 行 よりさらに短くできる問題が存在します。

本番ではそのような問題は無いつもりです。もしあればテストケースを修正して rejudge する可能性があります。

一方、問題の Input に書かれている制約(例えば Welcome では \(0 \le X[i] \le 50\))に依存した解法で Accept する事は問題ありません。

期間

SNS・公式 Discord 等の利用について

コンテスト開催中に、SNSなどでコンテストの問題について言及していただいて構いませんが、ソースコードや方針を公開するなどの直接的なネタバレ行為はご遠慮ください。

ただし、練習問題に関しては相談・協力・ネタバレ可能です。

ハッシュタグは #MNCore をご利用ください。

「MN-Core 勉強会 Discord」内にて、MN-Core Challenge のお知らせの通知や質問対応などをいたします。こちらのリンクより、ぜひご参加ください。

参加資格

以下の例外をのぞき、どなたでも参加可能です。

また、主催者や他の参加者等の迷惑になる、若しくは本イベントの円滑な運営を妨げるような振る舞いがあるなど、本イベントへの参加が不適当であると合理的に当社が判断した方については、コンテスト参加後に参加資格の取り消しを行うことがあります。

入賞者

順位賞

1位 sosuupoyo
2位 logicmachine
3位 tails
4位 sakeikuratarako
5位 angel_p_57
6位 risujiroh
7位 yupiteru
8位 mujc14
9位 v
10位 dnek

最短賞

Transpose MAB sosuupoyo
Inversion Small tails
Inversion sosuupoyo
FizzBuzz tails

Par賞

mm_mm, rk222, Rssll_Krkgrd, ryuz, hogemiz

特別賞

spica314 FizzBuzz用にRust製のvsm生成器を作成して解いたことと、将来の最適化への展望を示されていたことから
Fuyuru Absで行列レジスタ経由の2回転置によるコピーで最短タイを達成されたことと、Convert Endianの定数16008(10進)のユニークさから
sakeikuratarako mshiftの2長語動作が仕様通り実装されていないことを指摘し、仮に使用可能であった場合のゴルフへの活用方法についても言及されていたことから

賞金・抽選

賞金は、コンテスト終了時点の凍結解除後の順位表をもとに、以下のとおりとします。

順位賞

1位から10位までの方々に以下の賞金を贈呈します。

1位 400,000 JPY
2位 200,000 JPY
3位 100,000 JPY
4位 50,000 JPY
5位 30,000 JPY
6-10位 20,000 JPY

最多最短賞

下記の最短賞に該当しない問題において、101点を獲得している問題数が最も多い方上位3名にそれぞれ 20,000 JPY を進呈します。
そのような問題数が同じ場合、最多最短賞に該当する問題の中でより後の問題でを獲得している方を優先とします。

最短賞

Transpose MAB, Inversion Small, Inversion, FizzBuzz の 4問 それぞれについて を獲得している方に 10,000 JPY を進呈します。

Par賞

最終問題以外の全問題(練習問題を含む)をパー 以下の行数で正答した方の中から抽選で決定した5名にそれぞれ 10,000 JPY を進呈します。
他の賞金の対象となっていない方を優先します。

100位賞

オンラインジャッジシステムの順位表において100位の方に 5,000 JPY を進呈します。

特別賞

コンテスト終了後にご提出いただいた解法アピールや、解法の面白さなどに基づいた審査で決定した最大3名に総額 30,000 JPY を進呈します。

さらに、上位入賞者にはコンパイラエンジニア採用で選考過程の一部免除のオファーをさせていただきます。

コンテスト期間終了後、2024/10/4 23:59 (JST) までに賞金対象者を確定してオンラインジャッジシステムでお知らせし、ユーザーIDを掲載いたします。

賞金対象者につきましては、各該当者のみにオンラインジャッジに掲示されるフォーム宛に必要に応じて賞金等のお渡しに必要な情報を提示頂く必要があります。

指定した期日までに賞金の進呈に必要な情報の提供がなかった場合は、賞金を放棄したものとみなします。

なお、賞金対象者の繰り上げや再抽選は行いません。

また、賞金の進呈は日本の居住者に限ります。

いずれの賞金も計31点以上を得点した方のみが対象となります。

順位

ジャッジ

入出力に関する共通ルール

ジャッジ結果

禁止事項

下記の禁止事項に該当するとみなされたとき、正答の取り消しやアカウントの削除を行う可能性があります。

個人情報の取扱い

イベント規約・お問い合わせ

本コンテストにご参加いただくには登録時にイベント規約に同意していただく必要があります。

その他、本イベントに関連するお問い合わせはMN-Core Challenge 事務局までお送りください。