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