CodeIQ MAGAZINECodeIQ MAGAZINE

「第1回デスマコロシアム」問題のトーナメント結果発表です!~初代優勝者は…! #デスマコロシアム

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

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

挑戦者のみなさんの間でかなり話題になった、第1回デスマコロシアムのトーナメント結果発表です。
初代チャンピオンはどなたでしょうか?

優勝、準優勝の方には、デスマコロシアム チャンピオンバッジが付与されます!
by CodeIQ運営事務局

1.はじめに

「第1回デスマコロシアム」へようこそ! 出題者のtbpgrです。

この記事は

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

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

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

エントリー結果

挑戦者数 正解者数 不正解者数
141 134 (95.04%) 7 (4.96%)

チーム内訳

Total PM TL DB SE PG
402 84 (20.90%) 85 (21.14%) 78 (19.40%) 73 (18.16%) 82 (20.40%)

チーム内訳(グラフ)

言語内訳

言語名 人数 言語ペナルティ
Ada 1 0 point
Assembler (gcc-4.8.1) 1 0 point
Assembler (nasm-2.10.01) 1 0 point
AWK (gawk) 1 0 point
AWK (mawk) 2 -1 point
Bash 4 -3 point
Brainf**k 4 -3 point
C# 5 -4 point
C++ 4.3.2 2 -1 point
C++ 4.8.1 2 -1 point
C++11 2 -1 point
C99 strict 1 0 point
Clojure 4 -3 point
COBOL 85 1 0 point
COBOL 1 0 point
Common Lisp (clisp) 1 0 point
C 7 -6 point
D (dmd) 1 0 point
Erlang 1 0 point
F# 1 0 point
Factor 1 0 point
Falcon 2 -1 point
Forth 2 -1 point
Fortran 1 0 point
Go 4 -3 point
Groovy 1 0 point
Haskell 4 -3 point
Icon 1 0 point
Intercal 1 0 point
Java7 3 -2 point
JavaScript (rhino) 1 0 point
JavaScript (spidermonkey) 2 -1 point
Java 11 -10 point
Lua 4 -3 point
Nemerle 1 0 point
Nice 2 -1 point
Nimrod 1 0 point
Node.js 1 0 point
Objective-C 2 -1 point
Ocaml 1 0 point
Octave 1 0 point
Oz 1 0 point
PARI/GP 1 0 point
Pascal (fpc) 1 0 point
Pascal (gpc) 1 0 point
Perl 6 1 0 point
Perl 2 -1 point
PHP 3 -2 point
Pike 1 0 point
Prolog (gnu) 1 0 point
Prolog (swi) 1 0 point
Python 3 3 -2 point
Python 3 -2 point
Ruby 7 -6 point
R 3 -2 point
Scala 2 -1 point
Scheme (guile) 2 -1 point
Smalltalk 1 0 point
SQL 3 -2 point
Tcl 2 -1 point
Unlambda 1 0 point
VB.NET 3 -2 point
Whitespace 1 0 point

言語内訳(グラフ)

青:2014/04/08 22:50 時点の人数
赤:2014/04/10 10:00 締め切り時の人数

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

お待たせ致しました! トーナメント結果の発表です。
結果はベスト64から発表致します。

今回の問題に正解された方は全員デスマコロシアムバッジ獲得ですが、このトーナメントに勝利された方(ベスト32以上の方)は、
さらにプレミアムなデスマコロシアム特別バッジ獲得となります!

※名前の載っていない方は残念ながら予選落ちとなります。
※トーナメント表は敬称略としています。

トーナメント表に関する補足説明

  • 「結果ポイント」はチームの勝敗によるポイントと言語ペナルティの合計です
  • 「デスマ発生」はデスマーチの発生した試合の場合に○になります
  • 「引分ランダム決着」はポイントが同点かつ言語ペナルティも同点になり、
    ランダム抽選による勝敗決定になった場合に○になります

ベスト64

勝敗 名前 チーム 言語 言語ペナルティ 結果ポイント デスマ発生 引分ランダム決着
hiroyalab GGG VB.NET -2 0 ×
× takosumi MDD Python 3 -2 0 ×
× たるこす SDM Common Lisp (clisp) 0 5 ×
shoek DDS Intercal 0 5 ×
しおづけ GMG Go -3 0 ×
× 36g9djx MLD C# -4 0 ×
× tmftake SMG Node.js 0 5 ×
rotary-o SLD Erlang 0 5 ×
holysnow LMD Ada 0 5 × ×
× myuon MLD C -6 -1 × ×
SAKURA77 LDM Java -10 0 × ×
× Yuki Ueda SSS Ruby -6 -1 × ×
quarter LSD Icon 0 5 × ×
× landurchin LDG Objective-C -1 4 × ×
× pwpr GSD Perl -1 4 × ×
しょーこ DDS Pike 0 10 × ×
knightrogen SLD AWK (mawk) -1 14 × ×
× lea GGG Falcon -1 -1 × ×
amama SDL Assembler (gcc-4.8.1) 0 10 × ×
× にくも DGD PHP -2 3 × ×
なおゆら DSL Factor 0 10 × ×
× ねこ大好き GGL F# 0 0 × ×
× makeneko SGD Bash -3 2 × ×
kuuso GGM AWK (gawk) 0 5 × ×
× 24D LDG JavaScript (spidermonkey) -1 -1 × ×
majiang SLD D (dmd) 0 15 × ×
yoshi-taka MGM Scheme (guile) -1 5 ×
× boku SML Python 3 -2 0 ×
deflat DLD Groovy 0 10 × ×
× ずみ太郎 GSS Lua -3 2 × ×
tknhs SLD Go -3 7 × ×
× 77web MDG PHP -2 3 × ×
suppy193 LGS C++ 4.8.1 -1 0 ×
× やましたゆう MMG C++11 -1 5 ×
× tbird MLD Haskell -3 0 ×
mahjongkid GLD Forth -1 0 ×
× karoyakani MLD Haskell -3 2 × ×
StupidDog LSD COBOL 85 0 5 × ×
ryosy383 LGS Brainf**k -3 5 ×
× alluser GMM Clojure -3 0 ×
× okaimono MMM Perl -1 0 ×
Ryusei GSD Prolog (swi) 0 0 ×
しとりー LLL Brainf**k -3 7 × ×
× Kta-M GMD C -6 -1 × ×
かわやん GGG C# -4 0 ×
× tacks_a MLD VB.NET -2 0 ×
ciel LLL PARI/GP 0 10 × ×
× himox_x DDL Forth -1 -1 × ×
× matsu__ GML R -2 0 ×
todaemon DGM Python -2 5 ×
motomu MLD Python -2 8 × ×
× lazy SDL Smalltalk 0 5 × ×
iehn LSG Ruby -6 5 ×
× ikura GMM Python -2 5 ×
× おにちき MGL C++11 -1 4 × ×
xxBASSYxx LDS VB.NET -2 8 × ×
antimon2 GMM Haskell -3 0 ×
× やままさ MLD Java -10 0 ×
KAZAMAI_NaruTo DMD SQL -2 8 × ×
× mikoto2000 SDL Go -3 2 × ×
野尻湖 MMM Prolog (gnu) 0 0 ×
× ciassaic MMM COBOL 0 0 ×
× まままま MSD AWK (mawk) -1 0 ×
電脳妖精 GMM Pascal (fpc) 0 0 ×

ベスト32

勝敗 名前 チーム 言語 言語ペナルティ 結果ポイント デスマ発生 引分ランダム決着
× hiroyalab GGG VB.NET -2 -2 × ×
shoek DDS Intercal 0 15 × ×
× しおづけ GMG Go -3 2 × ×
rotary-o SLD Erlang 0 10 × ×
holysnow LMD Ada 0 5 × ×
× SAKURA77 LDM Java -10 -5 × ×
quarter LSD Icon 0 10 × ×
× しょーこ DDS Pike 0 5 × ×
× knightrogen SLD AWK (mawk) -1 4 × ×
amama SDL Assembler (gcc-4.8.1) 0 5 × ×
なおゆら DSL Factor 0 10 × ×
× kuuso GGM AWK (gawk) 0 5 × ×
× majiang SLD D (dmd) 0 5 × ×
yoshi-taka MGM Scheme (guile) -1 9 × ×
deflat DLD Groovy 0 5 × ×
× tknhs SLD Go -3 -3 × ×
× suppy193 LGS C++ 4.8.1 -1 4 × ×
mahjongkid GLD Forth -1 9 × ×
StupidDog LSD COBOL 85 0 10 × ×
× ryosy383 LGS Brainf**k -3 -3 × ×
× Ryusei GSD Prolog (swi) 0 5 × ×
しとりー LLL Brainf**k -3 7 × ×
× かわやん GGG C# -4 -4 × ×
ciel LLL PARI/GP 0 15 × ×
× todaemon DGM Python -2 3 × ×
motomu MLD Python -2 8 × ×
× iehn LSG Ruby -6 -6 × ×
xxBASSYxx LDS VB.NET -2 8 × ×
× antimon2 GMM Haskell -3 2 × ×
KAZAMAI_NaruTo DMD SQL -2 3 × ×
× 野尻湖 MMM Prolog (gnu) 0 0 ×
電脳妖精 GMM Pascal (fpc) 0 0 ×

ベスト16

勝敗 名前 チーム 言語 言語ペナルティ 結果ポイント デスマ発生 引分ランダム決着
× shoek DDS Intercal 0 5 × ×
rotary-o SLD Erlang 0 10 × ×
holysnow LMD Ada 0 5 × ×
× quarter LSD Icon 0 0 × ×
× amama SDL Assembler (gcc-4.8.1) 0 5 ×
なおゆら DSL Factor 0 5 ×
yoshi-taka MGM Scheme (guile) -1 9 × ×
× deflat DLD Groovy 0 5 × ×
× mahjongkid GLD Forth -1 -1 × ×
StupidDog LSD COBOL 85 0 10 × ×
× しとりー LLL Brainf**k -3 -3 × ×
ciel LLL PARI/GP 0 0 × ×
motomu MLD Python -2 13 × ×
× xxBASSYxx LDS VB.NET -2 -2 × ×
× KAZAMAI_NaruTo DMD SQL -2 3 × ×
電脳妖精 GMM Pascal (fpc) 0 5 × ×

準々決勝

勝敗 名前 チーム 言語 言語ペナルティ 結果ポイント デスマ発生 引分ランダム決着
rotary-o SLD Erlang 0 5 ×
× holysnow LMD Ada 0 5 ×
× なおゆら DSL Factor 0 5 × ×
yoshi-taka MGM Scheme (guile) -1 9 × ×
StupidDog LSD COBOL 85 0 5 ×
× ciel LLL PARI/GP 0 5 ×
× motomu MLD Python -2 0 ×
電脳妖精 GMM Pascal (fpc) 0 0 ×

準決勝

勝敗 名前 チーム 言語 言語ペナルティ 結果ポイント デスマ発生 引分ランダム決着
× rotary-o SLD Erlang 0 5 × ×
yoshi-taka MGM Scheme (guile) -1 9 × ×
× StupidDog LSD COBOL 85 0 5 × ×
電脳妖精 GMM Pascal (fpc) 0 10 × ×

決勝

勝敗 名前 チーム 言語 言語ペナルティ 結果ポイント デスマ発生 引分ランダム決着
× yoshi-taka MGM Scheme (guile) -1 0 ×
電脳妖精 GMM Pascal (fpc) 0 0 ×

デスマコロシアムの初代チャンピオンは 電脳妖精様 になりました!!
おめでとうございます!

yoshi-taka様 も準優勝おめでとうございます。
お二人には「デスマコロシアム チャンピオンバッジ」を付与致します。

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

4.参加者解答例

midori様:Lua

1粒で3度美味しい良解答です。
組み込み関数による解法、文字コードの計算による解法×2パターンを
1つの解答にまとめていただきました。

--SEEEEE
team = "sss"
--文字列の分割
str1 = string.sub(team, 1, 1)
str2 = string.sub(team, 2, 2)
str3 = string.sub(team, 3, 3)
--upper関数
str1_upper = string.upper(str1)
--byte計算
str2_upper = string.char(string.byte(str2) - 32)
--byte計算その2
str3_upper = string.char(string.byte(str3) + string.byte("A") - string.byte("a"))
--文字列の結合、及び出力
print(str1_upper..str2_upper..str3_upper)

ねじこ様:Clojure

最近話題の関数型言語の解答例その1。

(def src "slg")
(def dest (.toUpperCase src))
(print dest)

hoi様:Scala

最近話題の関数型言語の解答例その2。

object Main extends App {
  var team = "mmm";
  print(team.toUpperCase);
}

k.hamada様:Haskell

最近話題の関数型言語の解答例その3。

import Data.Char
main = do
  let team = "gmm"
      upper = map toUpper team
  putStr upper

Hanadix様:Bash

Bashは色んな解答方法がありえるので面白い。

#!/bin/bash
TERM="gls"
echo $TERM | sed -e "s/gls/GLS/"

Azicore様:Brainf**k

難読系言語の代表格、Brainf**kで実装した場合です。
なんとBrainf**kの解答者は4名もおられました。
その中でも丁寧なコメントがありつつ、コンパクトな処理のAzicore様の解答を紹介致します。
コメント部はAzicore様のコメントをそのまま残してあります。

# g(ASCIIコード103)を3つ積みます。
>++++++++++[>++++++++++>++++++++++>++++++++++<<<-]>+++>+++>+++

# 大文字と小文字のASCIIコードの差である32を積みます。
<<<<++++[>++++++++<-]

# 最初に積んだ3つの値から32を引きます。
>[>->->-<<<-]

# その結果を出力します。
>.>.>.

ここまでがAzicore様の解答です。

Rubyで似たような処理を無理やり再現したとすると下記のようになります。

i = 10
team = Array.new(5, 0)
until i == 0
  team[0] += 10
  team[1] += 10
  team[2] += 10
  i -= 1
end

team[0] += 3 # => gのASCIIコードの103(10×10+3)が設定された。
team[1] += 3 # => 同上
team[2] += 3 # => 同上

j = 4
until j == 0
  team[3] += 8
  j -= 1
end

team[3] # => 英大文字小文字の差分となる32(8×4)が設定された

team[0] -= team[3] # => 英小文字と英大文字の差分を引いて大文字のASCIIコードを取得
team[1] -= team[3] # => 同上
team[2] -= team[3] # => 同上

print team[0].chr # => 結果「G」を出力
print team[1].chr # => 同上
print team[2].chr # => 同上

5.さいごに

「第1回デスマコロシアム」問題へ多数の参加ありがとうございました。
今回は初回ということもあり、かなり簡単な問題にしてみました。
熟練技術者の方には物足りなかったと思います。
第2回はより実力のある方がトーナメントで有利になるように調整しました。
「第2回デスマコロシアム」にも参戦いただけると幸いです。

CodeIQはエンジニアの交流の場でもあります。
こういった解答者が関わりあう問題をきっかけにTwitter等で
繋がりを広げるきっかけになれば嬉しいです。
積極的に他のプログラマさんに絡んでいきましょう!

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

Tweet例

言語:XXX url #デスマコロシアム解答

  • 問題挑戦はこちらから
  • 挑戦受付締切:2014年5月7日 AM10:00
  • 23
  • このエントリーをはてなブックマークに追加

■関連記事

ついに最終回。「第12回デスマコロシアム」問題のトーナメント結果発表です!~優勝者は...!... 1.はじめに 「第12回デスマコロシアム」へようこそ! この記事は トーナメントの参加集計 トーナメントの結果発表 参加された皆様の解答例 の3本立てでお送りします。 2.トーナメントの参加集計 エントリー結果 挑戦者数 正解者数 不正解者数 ...
「第11回デスマコロシアム」問題のトーナメント結果発表です!~優勝者は…!... 1.はじめに 「第11回デスマコロシアム」へようこそ! この記事は トーナメントの参加集計 トーナメントの結果発表 参加された皆様の解答例 の3本立てでお送りします。 2.トーナメントの参加集計 エントリー結果 挑戦者数 正解者数 不正解者数 ...
驚愕の最短コード!「ショートコーディング:きのこ危機一髪」解説 #プログラミング #ショートコーディ... 問題のおさらい ■ 設問内容 きのこ村は今日もいいお天気。 きのこ兄弟たちは仲良く並んで散歩しています。 そんなある日… 暴れん坊ウサギのルイースがやってきました! ルイースはきのこたちを見つけると、踏みつけてくるのです!! 【問題】 きのこたちは暴れん坊ウサギのルイースに踏み...
「第10回デスマコロシアム」問題のトーナメント結果発表です!~優勝者は…!... 1.はじめに 「第10回デスマコロシアム」へようこそ! この記事は トーナメントの参加集計 トーナメントの結果発表 参加された皆様の解答例 の3本立てでお送りします。 2.トーナメントの参加集計 エントリー結果 挑戦者数 正解者数 不正解者数 ...
「第9回デスマコロシアム」問題のトーナメント結果発表です!─優勝者は…!... 1.はじめに 「第9回デスマコロシアム」へようこそ! この記事は トーナメントの参加集計 トーナメントの結果発表 参加された皆様の解答例 の3本立てでお送りします。 2.トーナメントの参加集計 エントリー結果 挑戦者数 正解者数 不正解者数 ...
「第8回デスマコロシアム」問題のトーナメント結果発表です!~優勝者は……! #デスマコロシアム... 1.はじめに 「第8回デスマコロシアム」へようこそ! この記事は トーナメントの参加集計 トーナメントの結果発表 参加された皆様の解答例 の3本立てでお送りします。 2.トーナメントの参加集計 エントリー結果 挑戦者数 正解者数 不正解者数 ...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

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

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

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