コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
全カテゴリ
カテゴリ未導入のページ
利用者の投稿記録
最近の更新
特別ページ一覧
ヘルプ
新規作成
新しい記事
検索
検索
表示
ログイン
個人用ツール
ログイン
トーク:Tournamentのソースを表示
ページ
ノート
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
表示
サイドバーに移動
非表示
←
トーク:Tournament
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
local p = {} function p.main(frame) local args = frame.args local team = {} local nRow = { [0] = {} } local line = {} local i = 1 while args[i] ~= "result" do team[i] = args[i] data[0][i] = {a = 1, b = 1} i = i + 1 end local nTeam = i - 1 i = i + 1 local round = 1 local curr = 1 local prev = 1 local row = 0 data[1] = {} while args[i] ~= nil and row == 0 do data[round][curr] = {} data[round][curr].e = data[round-1][prev].e data[round][curr].f = data[round-1][prev].f if args[i] == "bye" then i = i + 1 elseif data[round-1][prev+1] ~= nil then local prev1 = data[round-1][prev].e local prev2 = data[round-1][prev].f local prev3 = data[round-1][prev+1].e local prev4 = data[round-1][prev+1].f local curr1 if prev2 > prev3 then curr1 = (prev2 + prev3 + (curr1 % 2)) / 2 else curr1 = (prev2 + prev3 - (curr1 % 2)) / 2 end local curr2 = (prev2 + prev3) - curr1 data[round][curr] = { a = prev1, b = prev2, c = prev3, d = prev4, e = curr1, f = curr2, args[i], args[i+1], args[i+2], args[i+3] } i = i + 4 end prev = prev + 1 row = row + data[round][curr].e + data[round][curr].f if row == nTeam then round = round + 1 curr = 1 prev = 1 row = 0 data[round] = {} else curr = curr + 1 end end round = round - 1 return "" end return p
トーク:Tournament
に戻る。