[BOJ 3042] 트리플렛
View as PDF
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
128M
Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
상근이와 창영이는 트리플렛이라는 게임을 하고 있다. 이 게임을 하려면 칠판에 N*N 그리드를 그려야 한다. 그 다음 알파벳 대문자를 적절히 각 칸에 써 넣는다. 한 알파벳을 여러 칸에 쓸 수는 없다.
여기까지는 게임을 하기 위해 준비하는 과정이다. 트리플렛의 목표는 직선을 이루는 세 글자를 되도록 많이 찾는 것이다. 세 글자가 직선을 이루려면, 글자가 있는 칸의 중심을 연결한 선이 선분이어야 한다.
칠판에 그린 그리드의 상태가 주어졌을 때, 직선을 이루는 세 글자(트리플렛)의 개수를 찾는 프로그램을 작성하시오.
입력 형식
첫째 줄에 그리드의 크기 N이 주어진다. (3 ≤ N ≤ 100)
다음 N개 줄에는 그리드에 채워져 있는 글자가 주어진다. 글자를 채우지 않은 빈 칸의 경우에는 '.'로 주어진다.
출력 형식
첫째 줄에 트리플렛의 개수를 출력한다.
예제 입력 1
4
...D
..C.
.B..
A...
예제 출력 1
4
예제 입력 2
5
..T..
A....
.FE.R
....X
S....
예제 출력 2
3
예제 입력 3
10
....AB....
..C....D..
.E......F.
...G..H...
I........J
K........L
...M..N...
.O......P.
..Q....R..
....ST....
예제 출력 3
0
Comments