結果

問題 No.18 うーさー暗号
ユーザー zxc_programming
提出日時 2019-05-20 02:36:07
言語 C++17(clang)
(17.0.6 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 960 bytes
コンパイル時間 828 ms
コンパイル使用メモリ 129,896 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-30 14:07:23
合計ジャッジ時間 1,508 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

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

#include<iostream>
#include<string>
#include<algorithm>
//ABCDEFGHIJKLMNOPQRSTUVWXYZ
const std::string alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
auto index(const char c){
auto it = std::find(alp.begin(), alp.end(),c);
return std::distance(alp.begin(), it);
}
using ui = unsigned int;
int main(){
std::string s;
std::cin >> s;
for(decltype(s.size()) i{}; i<s.size(); ++i){
// std::cout << i<<"\n";
const ui v = index(s[i]);
// std::cout << v<<"\n";
const ui x = (i+1) % alp.size();//
//alphabet index
ui decoded = v>=x ? v-x : v+alp.size()-x;
/*if(decoded != 25)
std::cout <<alp[v]<<" "<< v <<" "<< x <<"\n";
*/
// std::cout <<i<<" "<< x <<" "<< v<<" "<<(v+alp.size())-x<<" "<< decoded <<" ";
std::cout << alp[decoded];
// std::cout << "\n";
}
std::cout <<"\n";
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0