結果
問題 |
No.701 ひとりしりとり
|
ユーザー |
|
提出日時 | 2019-01-17 16:56:47 |
言語 | Nim (2.2.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 1,079 bytes |
コンパイル時間 | 2,291 ms |
コンパイル使用メモリ | 60,700 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-01 10:07:23 |
合計ジャッジ時間 | 3,048 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 |
ソースコード
proc putchar_unlocked(c:char){.header: "<stdio.h>" .} proc scanf(formatstr: cstring){.header: "<stdio.h>", varargs.} proc printAsciis(a:int) = const bound = 'z'.ord - 'a'.ord if a == 0: putchar_unlocked('a') return var n = a while n > 0: var c = chr('a'.ord + (n mod bound)) if c == 'n' : c = 'z' putchar_unlocked(c) n = n div bound proc put(c:char) = if c == 'n' : putchar_unlocked('z') else: putchar_unlocked(c) var n : int scanf("%d",addr n) var src = 0 var dst = 1 var ascii = 0 for i in 0..<n div 2: var srcC = chr('a'.ord + src ) var dstC = chr('a'.ord + dst ) put(srcC) ascii.printAsciis() put(dstC) putchar_unlocked('\n') put(dstC) ascii.printAsciis() dst += 1 if dst == 25: src += 1 dst = src + 1 if src == 23: ascii += 1 src = 0 dst = 1 if n mod 2 == 0 and i == n div 2 - 1: putchar_unlocked('n') else: put(chr('a'.ord + src )) putchar_unlocked('\n') if n mod 2 == 1: putchar_unlocked('a') (n div 2).printAsciis() putchar_unlocked('n') putchar_unlocked('\n')