結果
問題 |
No.1455 拡張ROTN
|
ユーザー |
![]() |
提出日時 | 2021-04-01 14:35:08 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 24 ms / 2,000 ms |
コード長 | 1,382 bytes |
コンパイル時間 | 897 ms |
コンパイル使用メモリ | 110,752 KB |
実行使用メモリ | 26,060 KB |
最終ジャッジ日時 | 2024-12-17 18:41:11 |
合計ジャッジ時間 | 2,072 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; public class Hello { public static string x0 = "CpCzNkSuTbEoA"; static void Main() { var s = Console.ReadLine().Trim(); var n = long.Parse(Console.ReadLine().Trim()); getAns(s, n); } static void getAns (string s, long n) { var ans = ""; var n26 =(int)( n % 26); foreach(var x in s) { int tp; if (int.TryParse(x.ToString(), out tp)) ans += changeN(tp, n); else ans += changeC(x, n26); } Console.WriteLine(ans); } static string changeN (int t , long a) { if (t + a <= 9) return (t + a).ToString(); else { var ans = ""; var a2 = (int)((t + a - 10) % 26); foreach(var x in x0) { ans += changeC(x, a2); } return ans; } } static string changeC(char t, int a ) { var s = "abcdefghijklmnopqrstuvwxyz"; var s2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if (char.IsUpper(t)) { var sh = t - 'A'; sh += a; if (sh >= 26) sh -= 26; return s2[sh].ToString(); } else { var sh = t - 'a'; sh += a; if (sh >= 26) sh -= 26; return s[sh].ToString(); } } }