結果
| 問題 | No.43 野球の試合 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2021-04-03 12:42:12 | 
| 言語 | Kuin (KuinC++ v.2021.9.17) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 31 ms / 5,000 ms | 
| コード長 | 805 bytes | 
| コンパイル時間 | 2,387 ms | 
| コンパイル使用メモリ | 147,940 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-09-16 12:21:38 | 
| 合計ジャッジ時間 | 2,984 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 7 | 
ソースコード
func main()
	var n: int :: cui@inputInt()
	var s: [][]char :: #[n][]char
	for i(0, n - 1)
		do s[i] :: cui@input()
	end for
	
	var ans: int :: n
	var num: int :: n * (n - 1) / 2
	for ii(0, 2 ^ num - 1)
		var id: int :: ii
		var cnt: []int :: #[n]int
		for i(0, n - 1)
			for j(i + 1, n - 1)
				var result: char :: "ox"[id % 2]
				do id :/ 2
				if(s[i][j] <> '-' & s[i][j] <> result)
					skip ii
				end if
				if(result = 'o')
					do cnt[i] :+ 1
				else
					do cnt[j] :+ 1
				end if
			end for
		end for
		var cnt0: int :: cnt[0]
		do cnt.sort()
		do cnt.reverse()
		var rank: int :: 1
		for i(0, n - 1)
			if(i <> 0 & cnt[i] <> cnt[i - 1])
				do rank :+ 1
			end if
			if(cnt[i] = cnt0)
				do ans :: [ans, rank].min()
				break i
			end if
		end for
	end for
	do cui@print("\{ans}\n")
end func
            
            
            
        