문제 : https://www.acmicpc.net/problem/3076
[ 알고리즘풀이 ]
R,C,A,B 를 입력받으면 (R * A) X (C * B) 크기의 Map을 규칙에 맞춰서 출력하면 됩니다.
이때, 'X' 를 표시해야 되는 부분의 규칙을 살펴보면 행을 A로 나눴을 때 짝수이고 열을 B로 나눴을 때, 짝수인 경우와 행을 A로 나눴을 때 홀수이면서 열도 B로 나눴을 때 홀수인 경우만 'X' 를 출력하면 된다는 것을 확인할 수 있습니다.
#include<iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int R, C, A, B;
cin >> R >> C >> A >> B;
for (int i = 0; i < R * A; i++) {
for (int j = 0; j < C * B; j++) {
if ((i / A) % 2 == 0 && (j / B) % 2 == 0)
cout << 'X';
else if ((i / A) % 2 == 1 && (j / B) % 2 == 1)
cout << 'X';
else
cout << '.';
}
cout << '\n';
}
}
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 18242 : 네모네모 시력검사 - travelbeeee (0) | 2020.02.05 |
---|---|
[BOJ] 10164 : 격자상의 경로 - travelbeeee (0) | 2020.02.05 |
[BOJ] 10824 : 네 수 - travelbeeee (0) | 2020.02.04 |
[BOJ] 10992 : '별 찍기 - 17' - travelbeeee (0) | 2020.02.03 |
[BOJ] 1406 : editor - travelbeeee (0) | 2020.02.03 |