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 | 31 |
Tags
- InfluxDB
- g++ 업데이트
- c3 step graph
- c3 초
- subporcess path
- linux시간으로 변경
- gcc 업데이트
- c3 축 가리기
- 백준
- c3 second
- snmp
- python subprocess
- 1697
- 정규식 문자열 출력
- selinux port 등록
- grafana dashboard
- gcc regex
- python popen
- c++ 정규식
- 정규식 활용
- CentOS7
- c3 축 없애기
- telegraf
- influxdb 설치
- snmp test
- python os
- semanage
- regex_search
- centos pyhon 설치
- 정규식 컴파일
Archives
- Today
- Total
리셋 되지 말자
[백준 1697] 숨바꼭질 본문
#include<iostream>
#include<queue>
using namespace std;
queue<int> Q;
int *arr;
int loc= -1;
int start, target;
void BFS(void) {
loc = Q.front();
Q.pop();
if (loc == target)
return;
if (loc > 0) {
if (arr[loc - 1] == 0) {
arr[loc - 1] = arr[loc] + 1;
Q.push(loc - 1);
}
}
if (loc < 100000) {
if (arr[loc + 1] == 0) {
arr[loc + 1] = arr[loc] + 1;
Q.push(loc + 1);
}
}
if (2 * loc < 100001) {
if (arr[2 * loc] == 0) {
arr[2 * loc] = arr[loc] + 1;
Q.push(2 * loc);
}
}
}
int main() {
arr = new int[100001]();
cin >> start >> target;
Q.push(start);
arr[start] = 1;
while (loc != target) {
BFS();
}
cout << arr[loc] - 1;
return 0;
}
'알고리즘' 카테고리의 다른 글
[백준] N과M(1) (0) | 2020.05.17 |
---|---|
[백준]N와 M(1) (0) | 2020.04.25 |
재귀로 짠 수열(?) (0) | 2020.04.25 |
[백준 9466] 텀 프로젝트 (0) | 2020.03.12 |
[백준 7576]토마토 (0) | 2020.03.11 |
Comments