시뮬레이션과 구현
마술사 이민혁
4gats
2023. 3. 13. 15:58
https://www.acmicpc.net/problem/3023
3023번: 마술사 이민혁
첫째 줄에 왼쪽 위 부분의 행의 개수 R과 열의 개수 C가 주어진다. (1 ≤ R, C ≤ 50) 다음 R개 줄에는 C개의 문자 '.' 또는 '#'가 주어진다. 마지막 줄에는 에러의 위치 A와 B가 주어진다. (1 ≤ A ≤ 2R, 1
www.acmicpc.net
배열을 받을 때
i, j 확인하기
배열을 출력할 때
그 배열의 인덱스 한 번더 확인하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <iostream> using namespace std; char a[105][105]; int main() { int n, m; cin >> n >> m; // 이차원 char 배열 받는 법 for (int i = 0; i < n; i++) { cin >> a[i]; } int x, y; cin >> x >> y; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { a[i][m + j] = a[i][m - j - 1]; } } for (int i = 0; i < n; i++) { for (int j = 0; j < 2 * m; j++) { a[n + i][j] = a[n - i - 1][j]; } } if (a[x - 1][y - 1] == '#') a[x - 1][y - 1] = '.'; else if (a[x - 1][y - 1] == '.') a[x - 1][y - 1] = '#'; for (int i = 0; i < 2 * n; i++) { for (int j = 0; j < 2 * m; j++) cout << a[i][j]; cout << '\n'; } return 0; } | cs |