CodeIQ MAGAZINECodeIQ MAGAZINE

「デスコロC #1」問題のトーナメント結果発表です!~優勝者は…!

2015.11.05 Category:CodeIQ問題解説・リーダーボード Tag:

  • 17
  • このエントリーをはてなブックマークに追加
ciel_300x300-300x288

デスコロC #1のトーナメント結果発表です。今回のチャンピオンはどなたでしょうか?

優勝、準優勝、最小賞の方には、デスマコロシアム チャンピオンバッジが付与されます!勝者にはCodeIQオリジナルグッズ一式をプレゼントします!

cielさんの解説とともにお楽しみください。
by CodeIQ運営事務局

1.はじめに

「デスコロC #1」へようこそ!

この記事は

  • トーナメントの参加集計
  • トーナメントの結果発表
  • 参加された皆様の解答例

の3本立てでお送りします。

2.トーナメントの参加集計

エントリー者数

エントリー者数は39名です。
(正解した最後の答案をエントリーに使うので、不正解者数のカウントは致しておりません)

言語内訳(言語順)

言語名 人数 言語ペナルティ 最小Byte数 平均Byte数 ペナルティ
AWK (gawk) 1 0 point 837 837 837
Ada 1 0 point 1076 1076 1076
Bash 3 -20 point 625 884 645
Brainf**k 1 0 point 2448 2448 2448
C 4 -30 point 646 956 676
C# 2 -10 point 582 764 592
C++ 1 0 point 878 878 878
C++11 1 0 point 1067 1067 1067
Go 1 0 point 1067 1067 1067
Haskell 1 0 point 791 791 791
Java7 1 0 point 662 662 662
Java8 1 0 point 1070 1070 1070
JavaScript (spidermonkey) 1 0 point 201 201 201
Lua 1 0 point 1009 1009 1009
Node.js 1 0 point 940 940 940
PHP 5 -40 point 244 708 284
Perl 1 0 point 83 83 83
Python 3 -20 point 349 595 369
Python 3 1 0 point 325 325 325
R 1 0 point 389 389 389
Ruby 3 -20 point 175 461 195
Scala 1 0 point 290 290 290
Smalltalk 1 0 point 1019 1019 1019
Tcl 1 0 point 1007 1007 1007
VB.NET 1 0 point 630 630 630

最小Byte数

最小Byte数達成者にはチャンピオンバッジを付与します。
※付与するバッジは一番上位のものを1つだけです。
※以下のリストは敬称略

言語 Byte数 名前
Perl 83 tails

言語別最小Byte数

言語別最小Byte数達成者には強豪バッジを付与します。
※付与するバッジは一番上位のものを1つだけです。
※以下のリストは敬称略

言語 Byte数 名前
AWK (gawk) 837 vector
Ada 1076 うっしぃ
Bash 625 todaemon
Brainf**k 2448 Azicore
C 646 yd
C# 582 コリオリのカ
C++ 878 こしょ
C++11 1067 raceSim
Go 1067 dyuma
Haskell 791 ioc
Java7 662 Mattsun
Java8 1070 linesegment
JavaScript (spidermonkey) 201 chat
Lua 1009 pice_i
Node.js 940 ばくだん
PHP 244 PIN
Perl 83 tails
Python 349 juchi
Python 3 325 じゅんや
R 389 やまさん
Ruby 175 angel
Scala 290 rotary-o
Smalltalk 1019 だめお
Tcl 1007 カニ戯(ry
VB.NET 630 えちごやえちぜん

3.トーナメント結果発表

お待たせ致しました!
トーナメント結果の発表です。
結果はベスト32から発表致します。
ベスト32に名前がある方は強豪バッジ、勝った方は豪傑バッジ獲得となります。
※トーナメント表は敬称略

ベスト32

勝敗 名前 言語 言語ペナルティ Byte数ペナルティ 結果ポイント 引分ランダム決着
PIN PHP -40 -244 -284 ×
× oda1979 Ruby -20 -768 -788 ×
× みけCAT PHP -40 -625 -665 ×
chat JavaScript (spidermonkey) 0 -201 -201 ×
angel Ruby -20 -175 -195 ×
× ばくだん Node.js 0 -940 -940 ×
rotary-o Scala 0 -290 -290 ×
× 天蓬元帥 C# -10 -946 -956 ×
× コリオリのカ C# -10 -582 -592 ×
やまさん R 0 -389 -389 ×
× Goodgood Bash -20 -1006 -1026 ×
nightyknite Python -20 -726 -746 ×
× こしょ C++ 0 -878 -878 ×
えちごやえちぜん VB.NET 0 -630 -630 ×
だめお Smalltalk 0 -1019 -1019 ×
× go12lim C -30 -1064 -1094 ×
tails Perl 0 -83 -83 ×
× vector AWK (gawk) 0 -837 -837 ×
Mattsun Java7 0 -662 -662 ×
× たみとし PHP -40 -682 -722 ×
ioc Haskell 0 -791 -791 ×
× 末原黒江 C -30 -1059 -1089 ×
dyuma Go 0 -1067 -1067
× raceSim C++11 0 -1067 -1067
× todaemon Bash -20 -625 -645 ×
gmk Ruby -20 -440 -460 ×
juchi Python -20 -349 -369 ×
× うっしぃ Ada 0 -1076 -1076 ×
× linesegment Java8 0 -1070 -1070 ×
ustom PHP -40 -989 -1029 ×
yd C -30 -646 -676 ×
× ゴルゴ13 Bash -20 -1021 -1041 ×

ベスト16

勝敗 名前 言語 言語ペナルティ Byte数ペナルティ 結果ポイント 引分ランダム決着
× PIN PHP -40 -244 -284 ×
chat JavaScript (spidermonkey) 0 -201 -201 ×
angel Ruby -20 -175 -195 ×
× rotary-o Scala 0 -290 -290 ×
やまさん R 0 -389 -389 ×
× nightyknite Python -20 -726 -746 ×
えちごやえちぜん VB.NET 0 -630 -630 ×
× だめお Smalltalk 0 -1019 -1019 ×
tails Perl 0 -83 -83 ×
× Mattsun Java7 0 -662 -662 ×
ioc Haskell 0 -791 -791 ×
× dyuma Go 0 -1067 -1067 ×
× gmk Ruby -20 -440 -460 ×
juchi Python -20 -349 -369 ×
× ustom PHP -40 -989 -1029 ×
yd C -30 -646 -676 ×

ベスト8

勝敗 名前 言語 言語ペナルティ Byte数ペナルティ 結果ポイント 引分ランダム決着
× chat JavaScript (spidermonkey) 0 -201 -201 ×
angel Ruby -20 -175 -195 ×
やまさん R 0 -389 -389 ×
× えちごやえちぜん VB.NET 0 -630 -630 ×
tails Perl 0 -83 -83 ×
× ioc Haskell 0 -791 -791 ×
juchi Python -20 -349 -369 ×
× yd C -30 -646 -676 ×

準決勝

勝敗 名前 言語 言語ペナルティ Byte数ペナルティ 結果ポイント 引分ランダム決着
angel Ruby -20 -175 -195 ×
× やまさん R 0 -389 -389 ×
tails Perl 0 -83 -83 ×
× juchi Python -20 -349 -369 ×

決勝

勝敗 名前 言語 言語ペナルティ Byte数ペナルティ 結果ポイント 引分ランダム決着
× angel Ruby -20 -175 -195 ×
tails Perl 0 -83 -83 ×

デスマコロシアムのチャンピオンは tails 様になりました!!
おめでとうございます!
CodeIQオリジナルグッズ一式をプレゼントします。
後日 CodeIQ 運営担当より連絡させていただきます。
angel 様も準優勝おめでとうございます。
お二人にはデスマコロシアム チャンピオンバッジを付与致します。

ベスト16まで勝ち残った方にはデスマコロシアム 豪傑バッジを付与致します。
ベスト32まで勝ち残った方にはデスマコロシアム 強豪バッジを付与致します。
トーナメントに参加された方にはデスマコロシアム ファイターバッジを付与致します。

4.参加者解答例

問題内容

bPP00$zzzuuuVVUUUQQ11000vvvWWWVVVRRR22211wwXXXWWWSSS333222xxYYYXXTTT444333yyyZZZYYUUU555444zzzaaZZZVV66555000bbaaaWW7766111cccbbbXXX8887722dddcccYYY999888333eeeddZZZAAA999444ffeeeaaaBBBAAA555ggfffbbCCBBB666hhhgggccDDCC77iiihhhdddEEEDD88jjjiieeeFFFEEE999kkkjjfffGGGFFFAAAllkkkggHHGGGBBBmmlllhhIIHHCCCnnnmmmiiiJJJIIDDooonnnjjjKKKJJJEEpppookkkLLLKKKFFFqqqpplllMMMLLLGGGrrqqqmmNNMMMHHHsssrrrnnOONNIItttsssttoooPPPOOJJuuuuupppQQQPPPKKKvvvvvvqqqRRRQQQLLLwwwwwrrrSSSRRRMMMxxxxxssTTSSSNNNyyyzzzyyytttUUUTTOOPP000zzuuuVVVUUUQQQ11100vvvWWWVVVRRR22111wwwXXXWWWSSS33222xxYYXXXTTT444333yyZZYYUU555444zzzaaaZZVVV66655000bbbaaaWWW77766111cccbbbXXX88777222dddcccYYY99988833eedddZZAAA99944ffeeaaBBBAA555gggffbbbCCCBB666hhhgggcccDDCCC777iiihhhdddEEDDD888jjjiiieeeFFFEEE99kkjjjffGGGFFFAAAlllkkggHHHGGBBBmmmlllhhhIIIHHCCCnnnmmmiiiJJIIIDDDooonnnjjjKKJJJEEppoookkkLLLKKKFFqqppllMMMLLLGGGrrrqqmmmNNNMMHHHsssrrrnnnOONNNIIItttssstttoooPPOOOJJJuuuuuupppQQQPPPKKvvvvqqRRRQQQLLwwwwrrSSSRRMMMxxxxxxsssTTTSSNNNyyyzzzyyytttUUTTTOOO

を標準出力に出力

テーマ

線形合同法っぽい方法で生成した文字列をBWT変換でした。
「T(ransformation)」と「変換」は重言ですが…
ところで、出力文字列中の$記号はBWTを示唆していましたが、気づいた方はごく小数だったようです。

出題者解答例

Ruby(138)です。

x=0;s=(~-n=1000).times.map{|i|[*?0..?9,*?A..?Z,*?a..?z][x=(65539*x+i)%62]}+[?$]
a=n.times.sort_by{|i|s[i..-1]}
n.times{|i|$><<s[~-a[i]%n]}

tails様

Perl(83)

print/.$/gfor sort map/.{999}/?$_=$'.$&:y/9Zz0-z/Aa0-z/<s/s$/sNtUUVb/,(A^eUVb)x3822

angel様

Ruby(175)

372.times{|x|j=x/6%31;k=x-j/30-j/25+5;$><<"b\0$"[x]<<(?0..?z).grep(/[^_\W]/)[(j-5**k/4)%62]*('V^ykowV\yoww^XiowV\ykow^Xioww^y]}~rcO}}~sCM}~~sO]}~rcO}~~sCM}~'[x/6].ord[k%6]+2)}

chat様

JavaScript (spidermonkey) (201)

a=[0,61,56,31,30,25];k=5;s="bPP00$";for(i=1;++i<372;)I=i/6|0,i%6|I-a[k]||k--,n=(a[j=(k+i)%6]+I)%62,c=String.fromCharCode(n+=n>9?n>35?61:55:48),s+=([60,59,53,67,7][j%5]+I)%90/.938%6<4?c+c+c:c+c;print(s)

PIN様

PHP (244)

<?=b;for(;$i<372;$a[5]-55&&$a[4]-61?:$j--){$i%186?:$a=[25,0,61,56,31,30,$j=0];$s.=str_repeat(gmp_strval($a[$j++%6]++%62,62),3-gmp_strval(gmp_init("3t23w30r3IENDSpgjEcJjxHAwFcDfq0Uj5tT6XP5cuQa3EaX6oFRuLnHK0BkrYq",62),2)[$i++]);}$s[4]='$';echo$s;

5.さいごに

「デスコロC #2」問題は、アルファベット列の○○かつ○○○番目を大文字化する問題です。

こだわりの言語を選んで、言語内最短を目指すのもよし、
特に最短にはこだわらず好きな言語で正解だけを目指すもよし。
いつものようにただ単に標準出力するだけのプログラムでの参加も可能です。
気軽にご参加ください。

解答コードの公開は歓迎致します。
共有しやすいようにハッシュタグを利用してTweetされることを推奨します。
特に当記事の解答例にない言語については皆様興味があると思いますので、積極的に公開してください。

お詫び

過去に他のプログラミングサイトで、制約設定を誤り、想定でない解法を通してしまったため、今回理不尽なほど難易度を上げてしまいました。
次回以降は解ける難易度で出題させて頂きます。
申し訳ございませんでした。

CodeIQ運営事務局より

cielさん、ありがとうございました!
cielさんの次の問題にご期待ください!

  • 17
  • このエントリーをはてなブックマークに追加

■関連記事

【謎解きプログラム】条件に当てはまる文字列は?【正規表現】解答と解説... 【謎解きプログラム】条件に当てはまる文字列は?【正規表現】 本問題は、表題のテーマで、プログラムにちなんだ謎を解くというものでした。 それでは以下、各問題とその解答を見ていきましょう。 問題のオープニング ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されていた。 「2...
【謎解きプログラム】乱数で発生する数値は?【組み合わせ】解答と解説... 【謎解きプログラム】乱数で発生する数値は?【組み合わせ】 本問題は、表題のテーマで、プログラムにちなんだ謎を解くというものでした。 それでは以下、各問題とその解答を見ていきましょう。 問題のオープニング ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されていた。 「24...
「放物線とマス目の関係」問題の解答と解説... table.nabe{ margin-left:30px; } .nabefloat{ float:right; } table.nabe td, table.nabe th{ padding:3px; } table.nabe th{ ...
【謎解きプログラム】データをバイナリで見てみよう【バイナリ】解答と解説... 【謎解きプログラム】データをバイナリで見てみよう【バイナリ】 本問題は、表題のテーマで、プログラムにちなんだ謎を解くというものでした。 それでは以下、各問題とその解答を見ていきましょう。 問題のオープニング ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されていた。 「...
【謎解きプログラム】データベースを扱ってみよう【SQLite】解答と解説... 【謎解きプログラム】データベースを扱ってみよう【SQLite】 本問題は、表題のテーマで、プログラムにちなんだ謎を解くというものでした。 それでは以下、各問題とその解答を見ていきましょう。 問題のオープニング ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されていた。 ...
【謎解きプログラム】弾幕の軌跡を作ってみよう【描画】解答と解説... 【謎解きプログラム】弾幕の軌跡を作ってみよう【描画】 本問題は、表題のテーマで、プログラムにちなんだ謎を解くというものでした。 それでは以下、各問題とその解答を見ていきましょう。 問題のオープニング ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されていた。 「24時間...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ