COCI/3번
백준 3054 피터팬 프레임 (COCI 2006/2007 Contest #1 3번)
ssam..
2020. 3. 9. 20:58
문제 링크: https://www.acmicpc.net/problem/3054
3054번: 피터팬 프레임
문제 "피터팬 프레임"은 단어를 다이아몬드 형태로 장식하는 것이다. 알파벳 X를 피터팬 프레임으로 장식하면 다음과 같다. ..#.. .#.#. #.X.# .#.#. ..#.. "웬디 프레임"은 피터팬 프레임과 유사하지만, 다이아몬드를 '*'로 만드는 것이다. 알파벳 X를 웬디 프레임으로 장식하면 다음과 같다. ..*.. .*.*. *.X.* .*.*. ..*.. 단어가 주어졌을 때, 3의 배수 위치(세 번째, 여섯 번째, 아홉번째, ...)에 있는 알파
www.acmicpc.net
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
|
#include <bits/stdc++.h>
using namespace std;
char a[5][61];
int main() {
string s;
cin >> s;
int n = s.size();
for(int i = 0; i < n; i++) {
for(int j = 0; j < 5; j++) {
for(int k = 4 * i; k < 4 * i + 5; k++) {
if(a[j][k] != '*') a[j][k] = '.';
if(j == 0 || j == 4) {
if(k % 4 == 2) {
a[j][k] = '#';
if(i % 3 == 2) a[j][k] = '*';
}
}
if(j == 1 || j == 3) {
if(k % 4 == 1 || k % 4 == 3) {
a[j][k] = '#';
if(i % 3 == 2) a[j][k] = '*';
}
}
if(j == 2) {
if(i % 3 != 2 && k % 4 == 0 && a[j][k] != '*') a[j][k] = '#';
if(i % 3 == 2 && k % 4 == 0) a[j][k] = '*';
if(k % 4 == 2) a[j][k] = s[i];
}
}
}
}
for(int i = 0; i < 5; i++) {
for(int j = 0; j <= 4 * n; j++) {
cout << a[i][j];
}
cout << '\n';
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
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
|
#include <bits/stdc++.h>
using namespace std;
char a[5][61];
int main() {
string s;
cin >> s;
int n = s.size();
for(int i = 0; i < 5; i++) for(int j = 0; j < 61; j++)
a[i][j] = '.';
for(int i = 0; i < n; i++) {
int y = 2;
int x = 4 * i + 2;
a[y][x] = s[i];
if(i % 3 == 2) {
a[y-2][x] = '*';
a[y-1][x-1] = '*';
a[y-1][x+1] = '*';
a[y][x-2] = '*';
a[y][x+2] = '*';
a[y+1][x-1] = '*';
a[y+1][x+1] = '*';
a[y+2][x] = '*';
}
else {
a[y-2][x] = '#';
a[y-1][x-1] = '#';
a[y-1][x+1] = '#';
if(a[y][x-2] != '*') a[y][x-2] = '#';
a[y][x+2] = '#';
a[y+1][x-1] = '#';
a[y+1][x+1] = '#';
a[y+2][x] = '#';
}
}
for(int i = 0; i < 5; i++) {
for(int j = 0; j <= 4 * n; j++) {
cout << a[i][j];
}
cout << '\n';
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|