Link https://www.acmicpc.net/problem/17289
소스결과 1992 KB / 0 ms
출처 Baekjoon
언어 C++ 17
분류 구현
설명
에니그마를 구현해 봅시다.
알고리즘
문제의 설명을 순서대로 따라 구현합니다.
소스코드
#include <iostream>
#include <string>
using namespace std;
short chain[] = { 'C' - 'A','H' - 'A','I' - 'A','C' - 'A','K' - 'A','E' - 'A','N' - 'A','S' - 'A' };
void updateChain() {
chain[0] = (chain[0] + 1) % 26;
}
short convert(int pos, short val)
{
if (pos == 8)
return val;
else
return convert(pos + 1, (val + chain[pos]) % 26);
}
int main()
{
string input; cin >> input;
string res;
for (int i = 0; i < input.size(); i++)
{
res += 'A' + convert(0, input[i] - 'A');
updateChain();
}
cout << res;
return 0;
}
'Algorithm > Simulation' 카테고리의 다른 글
Baekjoon 2164 카드 2 (0) | 2019.11.11 |
---|---|
Baekjoon 17264 I AM IRONMAN (0) | 2019.08.21 |
Baekjoon 17292 바둑이 포커 (0) | 2019.08.21 |
Baekjoon 17254 키보드 이벤트 (0) | 2019.08.21 |
Baekjoon 17144 미세먼지 안녕! (0) | 2019.04.18 |