Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 에라토스테네스의 체
- 동적 계획법
- 알고리즘
- 스택
- 구현
- SWEA
- 브루트포스
- 해커랭크
- C++
- PS
- DP
- 삼성 SDS 대학생 알고리즘 특강
- 백준
- BFS
- 다이나믹 프로그래밍
- 시뮬레이션
- Algorithm
- 맛집
- sw expert academy
- dfs
- BOJ
- 잠실
- hackerrank
- 그리디
- 소수
- 백트래킹
- koitp
- dynamic programming
- 삼성 기출
- 완전탐색
Archives
- Today
- Total
펭로그
[C++] 삼성 SDS KOITP 마지막생존자 본문
문제링크 : https://koitp.org/problem/SDS_TEST_SURVIVOR
[삼성 SDS 대학생 알고리즘 특강 사전 테스트 A Type 2번 문제]
모든 배열을 하나 하나 탐색하여 풀었다. 배열의 각 원소를 중심으로 3*3 내에 불모지가 없고 물, 산, 초원이 모두 있는지를 구하면 된다.
4중 for문이라 코드가 조금 지저분하긴하다.
맵의 가장자리에 도달했을 경우의 예외 처리를 위하여 if(i==0 && a==-1) continue; 같은 구문을 4번이나 넣었는데....
사실 맵의 크기를 상하좌우로 1씩 더 늘려서 만들었다면 굳이 넣지 않아도 되었을 코드이다.
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | // KOITP_SDS_Atype_02 #include <bits/stdc++.h> using namespace std; int main() { // freopen("../input.txt", "r", stdin); int T; cin >> T; for (int t = 0; t < T; t++) { int N; cin >> N; int result = 0; vector<vector<int>> map(N, vector<int>(N)); for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) cin >> map[i][j]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if(map[i][j] == 0) continue; else { bool bmj = false; bool mul = false; bool san = false; bool cho = false; for (int a = -1; a <= 1; a++) { for (int b = -1; b <= 1; b++) { if(i==0 && a==-1) continue; if(i==N-1 && a==1) continue; if(j==0 && b==-1) continue; if(j==N-1 && b==1) continue; switch (map[i + a][j + b]) { case 0: bmj = true; break; case 1: mul = true; break; case 2: san = true; break; case 3: cho = true; break; } } } if (!bmj && mul && san && cho) result++; } } } cout << "#" << t + 1 << " " << result << "\n"; } return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] 삼성 SDS KOITP 전화상담 (3) | 2018.07.20 |
---|---|
[C++] 삼성 SDS KOITP 고장난시계 (0) | 2018.07.19 |
[C++] 삼성 SDS KOITP 순환공간 (0) | 2018.07.19 |
[C++] 삼성 SDS KOITP 쉬어가는페이지 (1) | 2018.07.19 |
[C++] 백준 BOJ 2839 설탕배달 (0) | 2018.07.13 |
Comments