結果

問題 No.73 helloworld
ユーザー yuppe19 😺yuppe19 😺
提出日時 2015-09-02 19:34:59
言語 Nim
(2.0.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 710 bytes
コンパイル時間 837 ms
コンパイル使用メモリ 69,140 KB
最終ジャッジ日時 2024-04-27 02:09:49
合計ジャッジ時間 1,254 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
/home/judge/data/code/Main.nim(22, 14) Error: type mismatch
Expression: <26
  [1] 26: int literal(26)

Expected one of (first mismatch at [position]):
[1] proc `<`(x, y: bool): bool
[1] proc `<`(x, y: char): bool
[1] proc `<`(x, y: pointer): bool
[1] proc `<`(x, y: string): bool
[1] proc `<`[Enum: enum](x, y: Enum): bool
[1] proc `<`[T: tuple](x, y: T): bool
[1] proc `<`[T](x, y: ptr T): bool
[1] proc `<`[T](x, y: ref T): bool
[1] proc `<`[T](x, y: set[T]): bool
[2] proc `<`(x, y: float): bool
[2] proc `<`(x, y: float32): bool
[2] proc `<`(x, y: int): bool
[2] proc `<`(x, y: int16): bool
[2] proc `<`(x, y: int32): bool
[2] proc `<`(x, y: int64): bool
[2] proc `<`(x, y: int8): bool
[2] proc `<`(x, y: uint): bool
[2] proc `<`(x, y: uint16): bool
[2] proc `<`(x, y: uint32): bool
[2] proc `<`(x, y: uint64): bool
[2] proc `<`(x, y: uint8): bool

ソースコード

diff #

import strutils, tables

const N = 26

proc nCr(n, r: int): int =
  var (n, r) = (n, r)
  if r == 0 or n == r: return 1
  if r > n-r: r = n-r
  var res = 1
  for x in n-r+1 .. n: res *= x
  for x in 1 .. r: res = res div x
  return res

var
  c = newSeq[int](N)
  res = 1
  dic = initTable[char, int]()

for ch in "helloworld":
  dic[ch] = ord(ch) - ord('a')

for i in 0.. <N:
  c[i] = stdin.readLine.parseInt

for ch, pos in dic:
  var
    n = c[pos]
    x: int
  if ch == 'l':
    if n <= 2: x = 0
    else:
      for a in 2.. <n:
        x = max(x, nCr(a, 2)*(n-a))
  elif ch == 'o':
    if n <= 1: x = 0
    else:
      for a in 1.. <n:
        x = max(x, a * (n-a))
  else:
    x = n
  res *= x

echo res
0