하얀 칸
https://www.acmicpc.net/problem/1100
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 22037 | 15133 | 13381 | 71.350% |
문제
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다.
가장 왼쪽 위칸 (0,0)은 하얀색이다.
체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다.
‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제 입력 1
.F.F...F F...F.F. ...F.F.F F.F...F. .F...F.. F...F.F. .F.F.F.F ..FF..F.
예제 출력 1
1
예제 입력 2
........ ........ ........ ........ ........ ........ ........ ........
예제 출력 2
0
예제 입력 3
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
예제 출력 3
32
예제 입력 4
........ ..F..... .....F.. .....F.. ........ ........ .......F .F......
예제 출력 4
2
출처
- 문제를 번역한 사람: baekjoon
알고리즘 분류
통과된 코드
#include <iostream> #include <string> using namespace std; string str; int cnt = 0; int main() { ios_base::sync_with_stdio(false); // scanf와 동기화를 비활성화 // cin.tie(null); 코드는 cin과 cout의 묶음을 풀어줍니다. cin.tie(NULL); std::cout.tie(NULL); for (int i = 0; i < 8; i++) { getline(cin, str); if (i % 2 == 0) { for (int j = 0; j < str.length(); j++) if (j % 2 == 0 && str[j] == 'F') cnt++; } else { for (int j = 0; j < str.length(); j++) if (j % 2 != 0 && str[j] == 'F') cnt++; } } cout << cnt; return 0; }