2011年11月7日月曜日

PCK1日後

乗り遅れた気しかしないが…

一先ず、"stack+=30;"はプログラミング部門準グランプリという結果になりました。
応援して下さった皆様方、本当にありがとうございました。来年こそは1位回帰を目指して頑張って行きたいと思います。

肝心の問題についてですが、少なくとも今年は昨年度よりレベルが上がっている印象でした。
(特別賞用の[1]でさえ、特別賞審査対象の時間に間に合わないチームが出ている位ですからね…。あの賞の意義その他を考えると、せめて[1]くらいは易しめにor特別賞審査時間を長めにとるべきだったんじゃないかなーとか。)

各問題の講評…を述べられるほどの実力は私には無いので、まあ簡単な感想とか思いついた解法とかを。

[1]:真っ先にソートが思いついたが、場合分けで解いたチームもあった模様。妙な捻りとかは無い、と言うか有っても困る。
[2]:pairゲー。色々な人の言葉を借りることになるが、正に「やるだけ」である。
[3]:ここから6点問題。荒らしの前の静けさ、とかでもなく平穏な「やるだけ」問題だったように思える。
[4]:PCKの問題としては良問。少し日本語が分かり辛かったのが残念だが、おかしい入力データを事前に弾く処理さえしっかり書ければ後はグラフ理論の問題か。
[5]:1頁目で「ここで」幾何が来るか、と思ったら2・3ページ目に計算式が書いてあった。だが行列を用いる計算は高校生でも数学Cを学んでいないと扱えないため、数学を得意としない高校1・2年生を主軸に据えたチームには辛い問題だったかも知れない。まあ単純な計算問題。
[6]:訴訟確定どころか、打首獄門級の悪問。後述。なお、問題文はsemiexp氏のblogの記事(http://d.hatena.ne.jp/semiexp/20111105/1320495854)を参照。
[7]:rejudgeの為に訴訟問題と化したが、それさえ無ければ良質な問題に思える。本当にテストケースミスによるrejudgeは御勘弁頂きたい…
[8]:問題文に従って精密に実装するだけ。C#が使えてPCKの問題がオンラインジャッジできるサイトはどこかに有りませんか。()
[9]:PCKにしては珍しく、JOI的な雰囲気を漂わせる良問。まあ開始早々の紙面訂正さえ無ければ完璧だったのだろうか。スコーンwwwwwスコーンwwwww
[10]:満点阻止問題なのだろうか、解かせる気が無いようにも見える。そして配点が「@@」と書かれていたのは何が有ったんだろうか…

上に[6]を悪問と書いたわけだが、その簡潔な理由を以下に述べたいと思う。

・解釈が多義的にできる。
→その中のある1通りの解釈でないと問題文に矛盾が生じる上、japlj氏曰く誤ったテストケースが存在しているとのこと。現代文の解釈の問題においては適切なのかもしれないが、競技プログラミングの問題としては不適か。にも関わらず、Clarを投げられないのは酷いものである。

・事実上、サンプルケースを問題文の補助として用いている。
→上の矛盾を導くために使用できる道具がサンプルケースしか存在しない。サンプルケースはあくまでサンプルとしてのみ用いられるべきであって、問題文の補足として存在するべきではない、と私は思うのだが…

japlj氏の記事(http://topcoder.g.hatena.ne.jp/JAPLJ/20111106/1320588994)やsemiexp氏の記事(http://d.hatena.ne.jp/semiexp/20111106/1320590071)の方が詳細を記述しているので、詳細はこれらの記事を参照頂ければ…。

競技以外の部分でも色々あったので、記事を分割してまた色々と書いていきたいと思います。

今年で2回目の参加となったパソコン甲子園、是非とも来年こそは。

0 件のコメント: