結果
| 問題 |
No.18 うーさー暗号
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-08-24 13:55:05 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 5,000 ms |
| コード長 | 713 bytes |
| コンパイル時間 | 22,786 ms |
| コンパイル使用メモリ | 398,420 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-07 06:14:56 |
| 合計ジャッジ時間 | 15,033 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 13 |
ソースコード
use std::io;
use std::io::prelude::*;
use std::io::BufReader;
fn run(args: &Vec<String>) -> Vec<String> {
let ref s = args[0];
let ca = 'A' as u32;
let cz = 'Z' as u32;
let a = cz - ca + 1;
let cs = s
.chars().enumerate()
.map(|(i, c)| {
let c1 = (c as u32) - ca;
let c2 = (c1 + a - (i as u32) % a - 1) % a;
(c2 + ca) as u8
})
.collect();
vec!(String::from_utf8(cs).unwrap())
}
fn main() {
let args = lines(BufReader::new(io::stdin()));
for line in run(&args) {
println!("{}", line);
}
}
fn lines<R: Read>(reader: BufReader<R>) -> Vec<String> {
reader.lines().map(|l| l.unwrap()).collect()
}