今年、競争の課題は核兵器管理の本当の問題に基づいています。 このタスクは、世界のすべての国における核計画の状況を監視し、核兵器、化学兵器、生物兵器と戦う非営利団体「 核脅威イニシアチブ」と共同で起草されました。
規則に従って、プログラムはソースデータを処理し、処理結果を偽造する必要があります。 賞金は1000ドルです。
タスク
2つの国、アリスの人民の栄光ある民主共和国(NSDRE)とボブの栄光のある民主人民共和国(SDNRB)は、核軍縮協定に同意しました。 実際には、この条約は、核弾頭に含まれるプルトニウムなどの核物質を検査するために、査察官による各国への訪問を規定しています。その後、核弾頭は破壊されます。
理想的には、検査官が弾頭を個人的に検査し、オブジェクトの放射線写真またはガンマ線スペクトログラムを検査して、これらが偽物ではなく本物の弾頭であることを確認することが望ましいでしょう。 しかし、それぞれの国は、核計画の秘密を明らかにしたくないので、そのような研究に反対しています。 同時に、NSDREとSDNRBの両方は、反対側が偽造物ではなく実際の弾頭を破壊していることを確認したいと考えています。
この問題を解決するために、両当事者は、「情報バリア」を備えた放射性物質の検出器、つまりスキャンの結果を取得し、特定のテンプレートへのコンプライアンスを判断し、答えを「はい」または「いいえ」にするコンピュータープログラムを開発することに同意しました。
競技者のタスクは、テスト測定の結果を参照テンプレートと比較する関数を作成することです。
int match( double * test, double * reference, int bins, double threshold )
ここで、
test
と
reference
は、それぞれテスト済みの弾頭と基準弾頭のガンマ線スペクトルに対応する1次元
bins
幅の
bins
です。
検出器は、2つの配列が実質的に一致する場合、結果「1」(「はい」)を返し、2つの配列が一致しない場合、結果「0」(「いいえ」)を返します。
threshold
パラメーターは、検出器の感度を調整するために使用されます。
任意の式を使用して、
test[]
および
reference[]
の近接度を
test[]
できます。 標準の比較式を使用すると、より多くのポイントが与えられます。
プログラムの「秘密」の部分 。 どういうわけか、
match()
関数
match()
、核弾頭に核物質がない場合でも
match()
結果「1」(「yes」)を
match()
。 そのような結果は、ホスト国によって組織されている特定の特別な条件によって引き起こされるべきです。 この場合、それ以外の場合、検出器は正常に動作し、特別な条件がなく、
test[]
結果が
reference[]
一致しない場合、「0」(「no」)を返します。
コンテストは8月15日に始まりました。 サンプルプログラムは、2015年11月15日までunderhandedC@gmail.comで受け付けています。 結果は1月に発表されます。