SupercomputingContest2019/予選・認定問題Q&A

最終更新日時: 2019-06-11 (火) 18:44:31

大会側に寄せられた質問及びその回答を掲載しています.

このページからの質問は受け付けておりません.質問は以下よりお願いします.

  • sc18query _at_ gsic _dot_ titech _dot_ ac _dot_ jp
    (spamメールを防ぐため難読化しております. _at_=>@ _dot_=>. と置き換えください.)
  • sc19query _at_ gsic _dot_ titech _dot_ ac _dot_ jp
    (spamメールを防ぐため難読化しております. _at_=>@ _dot_=>. と置き換えください.)

なお,問い合わせの際には学校名・氏名を記入し,質問の内容がよく分かる件名をつけて頂くようお願いいたします.
(これは迷惑メールとして処理されないためにも必要です.)

【注意】上記の質問用メールアドレスに間違いがございました.ただ,これまでの質問は適切に処理されておりますので,ご安心ください.

コンパイルに関して

Q. C++のプログラムのコンパイルに関するオプションについて 「審査は 2.5GHz の Intel Xeon CPU を搭載した LINUX マシン上で実行する。コンパイラはgccバージョン 4.8.2 を使い、(略) C++ 言語で書かれている場合は

g++ -O -lm -std=c++14 プログラム名.cpp

とコンパイルする。」 と記載されてますが,これは正しいですか?

A. 記載が間違いです。

g++ -O -lm -std=c++1y プログラム名.cpp

と読み替えてください。この記載は,2019/5/29 19:29頃まで掲載されていた予選問題に対するものです。現在掲載されているものにつきましては訂正されております。

問題について

Q. 1回で求めたいものを引き当てられる確率は1/(2^100)であることは運営では考慮されているか?

A. 問題の解法に関わってしまうので、あまり詳しくは書けないのですが、とにかく、「入出力自体は2^100存在している」というところが勘違いなので、よく考えてみてください。そんなにたくさんはありません。

Q. sc1.h内で配列SC_probは,

SC_prob[SC_MAXPROB][SC_NDATA]

と宣言されていますが,問題文の6ページ目では

int SC_prob[24] : 問題を格納する一次元整数配列

と記述されています。これは前者の方で解釈してよろしいでしょうか。

A. ご指摘のとおり、問題文にあやまりがありました。正しくは

int SC_prob[SC_MAXPROB][SC_NDATA] : 問題を格納する二次元整数配列

となります。(注:再訂正版では修正しております)

Q. 問題2.3.5「乱数について」にて、「乱数を必要とする プログラムでは必ず sc1.h に含まれるメルセンヌ・ツイスターを使うこと」 とありますが、乱数生成に該当関数genrand_int31()以外の 関数(std::rand()や自作の乱数生成関数)を用いた場合、 失格となりますか?

A. 問題に「必ず」と書いてありますので、他の乱数を使ったプログラムは条件を満たしません

Q. 問題2.3.4「補足解説と解法のヒント」にて、 「学習データのほうをランダムに作り」とありますが、 ランダムに作成する際に用いた乱数は、genrand_int31()によるものですか? また、その場合はinit_genrand(unsigned long s)で用いたシード値を 可能ならば教えてほしいです。

A. 問題作成にはgenrand_init32を使っていません

Q. マルチスレッドは使用できますか?

A. できません

評価に関して

Q. 乱数を使ったアルゴリズムの実行時間は乱数のシードによってばらつきが出るため、同じ程度の平均した速度を持つアルゴリズムが複数あった場合、乱数のシードによって勝つチームが決まります。このことを運営は考慮していますか?

A. もちろん認識しています。私たちの事前の計算では50問程度実行すればプログラムの平均的な性能はわかりますので、予選の問題数を100問としています。場合によっては問題を追加して、測定します。

規則に関して

Q. インラインアセンブラの使用は許可されてますでしょうか?

A. 使用言語としてアセンブラは認められていませんので、当然インラインでもだめです。

Q. pragmaの使用は許可されてますでしょうか?

A. pragmaは言語仕様に含まれないので当然使用できません(正確にはpragmaの後に何を書けるかは言語仕様に含まれない)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-11 (火) 18:44:31 (1780d)