-
백준 1598번: 꼬리를 무는 숫자 나열구현(Implementation) 2018. 6. 13. 12:28반응형
https://www.acmicpc.net/problem/1598
1. 문제 요약
두 수가 주어지고 두 수간의 거리를 구하는 문제
2. 알고리즘
입력 받은 두 정수 중 작은 값에서 큰 값으로 4를 더하면서 카운팅을 한다.
작은 값에 값이 큰 값보다 커지면 종료 하고
두수의 차이를 더해주면 높이가 된다.
11 33 을 예를 들자면
1 - 15 / 33
2 - 19 / 33
3 - 23 / 33
4 - 27 / 33
5 - 31 / 33
6 - 35 / 33 -------------> 큰 값이 더 작기 때문에 종료
답은 6 + (35 - 33) = 8
3. 비고
설명이 부족하고 논리적이지 않다. 접근을 감으로 해서 그런지 쉽게 잊을 거 같다.
4. 코드
1234567891011121314151617181920212223242526272829303132#include <iostream>#include <algorithm> // min#include <functional>#include <math.h>#include <string>#include <string.h>#include <vector>#include <map>#include <sstream>#include <queue>using namespace std;int main() {std::ios::sync_with_stdio(false); cin.tie(0);int pos1;int pos2;int sol = 0;cin >> pos1 >> pos2;pos1--;pos2--;if (pos1 > pos2) swap(pos1, pos2);while ((pos1 / 4) != (pos2 / 4)){sol++;pos1 += 4;}cout << sol + abs(pos1 - pos2) << endl;return 0;}cs 반응형'구현(Implementation)' 카테고리의 다른 글
백준 12790번: Mini Fantasy War (0) 2018.06.13 백준 2563번: 색종이 (0) 2018.06.13 백준 13866번: 팀 나누기 (0) 2018.06.13 백준 4388: 받아올림 (0) 2018.06.13 백준 1731번: 추론 (0) 2018.06.13