結果
| 問題 |
No.43 野球の試合
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-09-02 16:14:47 |
| 言語 | JavaScript (node v23.5.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,049 bytes |
| コンパイル時間 | 148 ms |
| コンパイル使用メモリ | 6,820 KB |
| 実行使用メモリ | 39,552 KB |
| 最終ジャッジ日時 | 2024-10-13 00:26:56 |
| 合計ジャッジ時間 | 1,489 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 5 WA * 2 |
ソースコード
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)