結果

問題 No.43 野球の試合
ユーザー irisAshirisAsh
提出日時 2017-09-02 16:31:18
言語 JavaScript
(node v21.7.1)
結果
WA  
実行時間 -
コード長 1,049 bytes
コンパイル時間 36 ms
コンパイル使用メモリ 6,948 KB
実行使用メモリ 39,424 KB
最終ジャッジ日時 2024-10-13 00:27:04
合計ジャッジ時間 1,240 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 61 ms
39,168 KB
testcase_01 AC 59 ms
39,296 KB
testcase_02 AC 59 ms
39,296 KB
testcase_03 AC 60 ms
39,424 KB
testcase_04 AC 57 ms
39,296 KB
testcase_05 AC 59 ms
39,296 KB
testcase_06 AC 58 ms
39,296 KB
testcase_07 AC 60 ms
39,168 KB
testcase_08 AC 60 ms
39,296 KB
testcase_09 AC 65 ms
39,296 KB
testcase_10 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

let m = require('fs').readFileSync('/dev/stdin', 'utf8').split('\n')
let n = parseInt(m[0])
let d = []
let s = Array.from(new Array(n)).fill(0)
let r = Array.from(new Array(n)).fill(0)
for (let c = 1; c <= n; c++) {
  Array.prototype.forEach.call(m[c], (e, i) => {
    if (i > c - 1) {
      if (e === '-') {
        if (c - 1 == 0) s[c-1]++
        else {
          d.push([c-1, i])
          r[i]++
          r[c-1]++
        }
      }
      else if (e === 'x') s[i]++
      else if (e === 'o') s[c-1]++
    }
  })
}
for (let a of d) {
  let s0 = s[0]
  let s1 = s[a[0]]
  let s2 = s[a[1]]
  if ((s0 == s1 && s0 == s2) || (s0 > s1 && s0 > s2) || (s0 < s1 && s0 < s2)) {
    if (r[a[0]] < r[a[1]]) s[a[0]]++
    else s[a[1]]++
  } else if (s0 == s1 || s0 == s2) {
    if (s0 != s1) s[a[0]]++
    else s[a[1]]++
  } else {
    if (s1 < s0) s[a[0]]++
    else s[a[1]]++
  }
  r[a[0]]--
  r[a[1]]--
}
let o = s[0]
s.sort((a,b) => b - a)
let rk = 0
let p
for (let e of s) {
  if (p != e) {
    rk++
    if (e == o) break
    p = e
  }
}
console.log(rk)
0