結果

問題 No.202 1円玉投げ
ユーザー yuppe19 😺yuppe19 😺
提出日時 2015-05-06 21:51:04
言語 Nim
(2.0.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 855 bytes
コンパイル時間 1,312 ms
コンパイル使用メモリ 65,152 KB
最終ジャッジ日時 2024-11-15 04:42:00
合計ジャッジ時間 2,887 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

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

Expected one of (first mismatch at [position]):
[1] proc `<`(x, y: bool): bool
[1] proc `<`(x, y: char): bool
[1] proc `<`(x, y: float): bool
[1] proc `<`(x, y: float32): bool
[1] proc `<`(x, y: int16): bool
[1] proc `<`(x, y: int32): bool
[1] proc `<`(x, y: int8): bool
[1] proc `<`(x, y: pointer): bool
[1] proc `<`(x, y: string): bool
[1] proc `<`(x, y: uint): bool
[1] proc `<`(x, y: uint16): bool
[1] proc `<`(x, y: uint32): bool
[1] proc `<`(x, y: uint64): bool
[1] proc `<`(x, y: uint8): 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: int): bool
[2] proc `<`(x, y: int64): bool

ソースコード

diff #

import strutils, sequtils

const
  M = 20001
  LEN = 33
  CNT = M div LEN

type
  Point = tuple[x,y:int]

###
# (ΦωΦ)<もっといい方法はないかな?
proc mymapII(s:seq[string]):auto= result = (s[0].parseInt, s[1].parseInt)
###

var
  n = stdin.readLine.parseInt
  blocks:seq[seq[seq[Point]]] = newSeqWith(CNT+1, newSeqWith(CNT+1, newSeq[Point](0)))
  res = 0

for i in 0.. <n:
  var (x, y) = stdin.readLine.split.mymapII
  var px = x div LEN
  var py = y div LEN
  var ok = true
  for xx in -1..1:
    for yy in -1..1:
      var nx = px + xx
      var ny = py + yy
      if nx < 0 or CNT < nx or ny < 0 or CNT < ny: continue
      for p in blocks[nx][ny]:
        if (p.x-x)*(p.x-x) + (p.y-y)*(p.y-y) < 400:
          ok = false
          break
  if ok:
    res += 1
    var point:Point = (x: x, y: y)
    blocks[px][py].add(point)

echo res
0