結果

問題 No.43 野球の試合
ユーザー irisAshirisAsh
提出日時 2017-09-02 16:14:47
言語 JavaScript
(node v20.8.0)
結果
WA  
実行時間 -
コード長 1,049 bytes
コンパイル時間 203 ms
コンパイル使用メモリ 5,472 KB
実行使用メモリ 42,392 KB
最終ジャッジ日時 2023-08-03 02:22:08
合計ジャッジ時間 1,912 ms
ジャッジサーバーID
(参考情報)
judge15 / judge14
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 76 ms
42,204 KB
testcase_01 AC 77 ms
42,276 KB
testcase_02 AC 78 ms
42,352 KB
testcase_03 AC 77 ms
42,208 KB
testcase_04 AC 77 ms
42,200 KB
testcase_05 AC 78 ms
42,204 KB
testcase_06 WA -
testcase_07 AC 76 ms
42,356 KB
testcase_08 AC 77 ms
42,220 KB
testcase_09 AC 76 ms
42,220 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 (s0 < s1) 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