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
- 브루트포스
- BFS
- dynamic programming
- koitp
- 백트래킹
- DP
- 맛집
- 백준
- 시뮬레이션
- PS
- 동적 계획법
- 다이나믹 프로그래밍
- BOJ
- sw expert academy
- 알고리즘
- 그리디
- SWEA
- hackerrank
- 에라토스테네스의 체
- 스택
- 완전탐색
- C++
- dfs
- 해커랭크
- 삼성 SDS 대학생 알고리즘 특강
- 구현
- 삼성 기출
- 소수
- Algorithm
- 잠실
Archives
- Today
- Total
펭로그
[C++] HackerRank 해커랭크 Forming a Magic Square 본문
문제링크 : https://www.hackerrank.com/challenges/magic-square-forming
전형적인 마방진 알고리즘 문제다.
특별할 것은 없고 주어진 조건에 따라서 마방진을 만들 수 있는 모든 경우의 수를 구한 다음 일일이 대조시키는 방식으로 풀었다.
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 | #include <bits/stdc++.h> using namespace std; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ // input numbers int s[3][3]; for(int i = 0; i < 3; i++) for(int j = 0; j < 3; j++) cin >> s[i][j]; int ans[8][3][3] = { {{8, 1, 6}, {3, 5, 7}, {4, 9, 2}}, {{6, 1, 8}, {7, 5, 3}, {2, 9, 4}}, {{4, 9, 2}, {3, 5, 7}, {8, 1, 6}}, {{2, 9, 4}, {7, 5, 3}, {6, 1, 8}}, {{8, 3, 4}, {1, 5, 9}, {6, 7, 2}}, {{4, 3, 8}, {9, 5, 1}, {2, 7, 6}}, {{6, 7, 2}, {1, 5, 9}, {8, 3, 4}}, {{2, 7, 6}, {9, 5, 1}, {4, 3, 8}}}; int min_cost = 100; int calc = 0; for(int n = 0; n < 8; n++){ calc = 0; for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ calc += abs(s[i][j] - ans[n][i][j]); } } min_cost = min(calc, min_cost); } cout << min_cost; return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] HackerRank 해커랭크 Counter game (0) | 2018.04.10 |
---|---|
[C++] HackerRank 해커랭크 Tower Breakers (0) | 2018.03.24 |
[C++] HackerRank 해커랭크 Sansa and XOR (0) | 2018.03.22 |
[C++] HackerRank 해커랭크 Flipping the Matrix (0) | 2018.03.21 |
[C++] HackerRank 해커랭크 Connected Cells in a Grid (0) | 2018.03.16 |
Comments