結果

問題 No.18 うーさー暗号
ユーザー pogin
提出日時 2016-03-22 03:26:33
言語 Java
(openjdk 23)
結果
AC  
実行時間 128 ms / 5,000 ms
コード長 2,680 bytes
コンパイル時間 3,973 ms
コンパイル使用メモリ 77,376 KB
実行使用メモリ 54,108 KB
最終ジャッジ日時 2024-07-07 06:02:22
合計ジャッジ時間 6,406 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

package yukicoder;
import java.util.Scanner;
//@see http://yukicoder.me/problems/59
public class No18 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
String s = sc.next();
System.out.println(ursarDecoding(s));
// sample();
}
private static void sample() {
String text = "abc";
String data1 = ceaserEncoding(text, 3);
System.out.println(data1);
System.out.println(ceaserDecoding(data1, 3));
System.out.println(ursarDecoding("ABCDEFGHIJKLMNOPQRSTUVWXYZ"));
System.out.println(ursarDecoding("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"));
System.out.println(ursarDecoding
            ("BNOXMKZMNHNQYZTDTWLUMAOCUEBNHHNTTIWIZRGVTRVSNNDBRJNLEERPTAYMMCAAEHXDXHKCIPPLNWTQKMLNSGYBTORRPDUHKCUAAYMDTQGMKLPKDVEFBCQJRAGNCKREGWIGQSGZ
            HQWOOMESPZFQYIMASCQGMCGHJTPVPDSQUSPHKKHZGKSCQSPHWLJUSLOYCYFCUILUAMKKORHTJUZIGKSQNFPGAWKUIKTFGUXABEQVHHYNHBCRPECOCYVDHLDCFLZLMAFERKMZXWDBNW
            CRLLWOMEKEVHBVSIWOVLCRPDRWHDFJXFDWYJDDBVDXTMVCYYYFUSSUGSKNPNBDQONYKEYCLUJINAAJTDZWGNGUPNDALQIEXZOMWYCYNZIOGWHZNLXLHEMKVQTYAUJBVQQWCJYSMIAP
            ECHRJUKAFZLZBZLZVSACFJXYNLBAHAMNBMSZOWBONAZWCWWJHGODBLNRUJRJNXLTJXOMQVTHZFZNJKRPNRJILRFRPVCOYFVCCEWYXHZNXJBONRDVNYVVCRPMHHWEIOBFGBFPRTPHDP
            QIVVBSOQEHTCGWKUHAKRLOTVVTFTPMUCLDRCUQHMBWFEKMEFFPVMAKKQBZZEVHXEESLIPNQCLPFTEINTNWODPZRFIXVJXMPHQQNFCCGXWGPVRXRFUOCQEQBHCAOCMTWKFIFYDQCRLX
            YCIXVJULZAAQPUBTUIQYMZNAFQAHAORJBMZKSCQCBPLRJRVDNKQRNWGIVLVZZSTCSHJPNGFTZXNKVASHWUJHTHDAIYRARWDVWKSAXWPPBUIXVKIIMPPKZNTUSESOLTFRTOUWHDFLVI
            HILLKYUJHWMUDJNXNTNBXCRDBMJBEYQDZERRXZPBDDTAAHPAZFZNCATYSESKQXMKJWUNPEGCUMVSMBZNAMHNHJLWJONPCYCFRBWELJLQJNHGMAECBESJYWDQSUAUXJZFMBZIXRSESQ
            IJTUKIWNVQABTBCAGAODBNQOHGQCTLAPNGZDXWCWUGZUMAKMSAOAPSWKAZXE"));
}
public static String ursarDecoding(String text) {
String data = "";
for (int i = 0; i < text.length(); i++) {
int divi = i % 26;
int substRet = char2int(text.charAt(i), divi);
int ret;
if (substRet <= 0) {
ret = "Z".charAt(0) + substRet;
} else {
ret = ((text.charAt(i) - divi) - 1);
}
data = data + String.valueOf(Character.toString((char)ret));
}
return data;
}
private static int char2int(char c, int i) {
return ((c - 'A') - i);
}
public static String ceaserEncoding (String text, int no) {
String data1 = "";
for (int i = 0; i < text.length(); i++) {
data1 = data1 + String.valueOf((char)(text.charAt(i) + no));
}
return data1;
}
public static String ceaserDecoding (String text, int no) {
String data1 = "";
for (int i = 0; i < text.length(); i++) {
data1 = data1 + String.valueOf((char)(text.charAt(i) - no));
}
return data1;
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0