암호화 통신
- 시간 제한
- 1s
- 메모리 제한
- 512MB
- 제출
- 33
- 정답
- 11
- 맞힌 사람
- 8
- 정답 비율
- 36.4%
문제
이 문제는 투 스텝 문제다. 투 스텝 문제란 제출한 프로그램을 독립적으로 두 번 실행하는 형식의 문제다. 각 실행은 일반적인 문제와 같다.
서현이는 좋아하는 그녀에게 러브레터를 보내려고 한다. 러브레터가 배송되는 동안 집배원이나 다른 사람들이 열어볼까 겁난 서현이는 러브레터를 암호화해서 보내기로 했다. 암호화 장치와 복호화 장치를 각각 서현이의 집과 그녀의 집에 미리 설치해 놓았다. 러브레터를 보내는 과정은 다음과 같다.
- 원래 러브레터의 내용은 문자열 이다. 서현이는 암호화 장치를 이용해서 를 격자 로 암호화한다.
- 를 그녀에게 우편으로 보낸다.
- 를 받은 그녀는 복호화 장치를 사용해서 문자열 를 복원해 낸다.
- 문자열 는 알파벳 대문자로 이루어져 있고, 격자 는
#와.로만 이루어져 있다.
암호화 장치와 복호화 장치를 구현하여 서현이가 러브레터를 보낼 수 있도록 도와주자.
이 문제에서 여러분의 프로그램은 한 테스트 케이스에 대해 두 번 실행된다. 첫 번째 실행에서는 암호화 장치의 역할을 수행해야 하고, 두 번째 실행에서는 복호화 장치의 역할을 수행해야 한다.
입력
첫째 줄에 이번 실행에서의 역할을 나타내는 문자열 이 주어진다. R은 encrypt 또는 decrypt 중 하나이며, 각각 이번 실행에서의 역할이 암호화 장치 또는 복호화 장치임을 의미한다.
이 encrypt 인 경우, 둘째 줄에는 정수 이 주어진다. 셋째 줄에는 길이 의 문자열 가 주어진다. 는 알파벳 대문자로 이루어져 있다. ()
이 decrypt 인 경우, 둘째 줄에는 정수 , 가 공백으로 구분되어 주어진다. 셋째 줄부터 개의 줄에 걸쳐 격자 의 정보가 주어진다. 각 줄에는 길이 의 #와 .로만 이루어진 문자열이 주어진다. ()
출력
이 encrypt 인 경우, 첫째 줄에 두 정수 , 를 공백으로 구분하여 출력한다. 둘째 줄부터 개의 줄에 걸쳐 격자 를 출력한다. 각 줄에는 길이가 고 #와 .으로만 이루어진 문자열을 출력해야 한다. 와 는 각각 이상 이하여야 한다.
이 decrypt 인 경우, 첫째 줄에 정수 을 출력한다. 둘째 줄에 길이가 인 문자열 를 출력한다. 이때의 문자열 는 처음 실행에서 주어졌던 문자열 와 일치해야 한다.
예제 입력 1
encrypt
4
SWIT
예제 출력 1
5 17
.###.#..#..#..###
#....#..#..#...#.
.##..#..#..#...#.
...#.####..#...#.
###...##...#...#.
예제 입력 2
decrypt
5 17
.###.#..#..#..###
#....#..#..#...#.
.##..#..#..#...#.
...#.####..#...#.
###...##...#...#.
예제 출력 2
4
SWIT
노트
암호화 과정에서 출력하는 격자는 조건만 만족한다면 무엇을 출력하든 상관없으나, 복호화 과정에서 출력하는 문자열은 최초 암호화 과정에서 주어졌던 문자열과 일치해야 정답으로 인정된다.
- 문제를 만든 사람
- 조서현
- 알고리즘 분류
코드를 제출하려면 로그인이 필요합니다.
로그인제출 내역이 없습니다.
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 10961 | 🥇 | 서재형 | C++ | 1ms | 1620KB | 1815B | |
| 10954 | 🥈 | 박승현 | C++ | 1ms | 1620KB | 2108B | |
| 10316 | 🥉 | 황현석 | C++ | 1ms | 1620KB | 888B | |
| 10537 | 4 | cpp = competitive python programming | C++ | 1ms | 1624KB | 2021B | |
| 10646 | 5 | Kokiri is cute | C++ | 1ms | 1624KB | 2631B | |
| 10691 | 6 | SW-IT Contest는 충남대학교 컴퓨터인공지능학부 알고리즘 동아리 ANA에서 주최하는 프로그래밍 대회로, 팀으로 출전하여 알고리즘 문제를 해결하는 대회입니다. | Python | 10ms | 9280KB | 714B | |
| 10604 | 7 | 스피드런도 런이다 | PyPy | 24ms | 49944KB | 755B | |
| 10731 | 8 | 실외기선풍기세탁기 | Java | 40ms | 39236KB | 2777B |