結果

問題 No.101 ぐるぐる!あみだくじ!
コンテスト
ユーザー 6soukiti29
提出日時 2017-08-20 19:48:05
言語 Nim
(2.2.8)
コンパイル:
nim --nimcache=~ --hints:off -o:a.out -d:release cpp _filename_
実行:
./a.out
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 607 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 982 ms
コンパイル使用メモリ 65,536 KB
最終ジャッジ日時 2026-03-19 20:17:41
合計ジャッジ時間 2,946 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
/home/judge/data/code/Main.nim(12, 37) Error: tuple expected for tuple unpacking, but got 'seq[int]'

ソースコード

diff #
raw source code

import sequtils,strutils,math
var
    N = stdin.readline.parseInt
    K = stdin.readline.parseInt
    A : array[1..100, int]
    flag : array[1..100, bool]
    times = newSeq[int](0)
    x,y : int
for i,a in A:
    A[i] = i
for k in 1..K:
    (x,y) = stdin.readline.split.map(parseInt)
    (A[x],A[y]) = (A[y],A[x])
for n in 1..N:
    if flag[n] == true or A[n] == n:
        continue
    var
        i = n
        cnt = 1
    i = A[i]
    while i != n:
        flag[i] = true
        i = A[i]
        cnt += 1
    flag[i] = true
    times.add(cnt)
var ans = 1
for i in times:
    ans = lcm(ans, i)
echo ans
0