[백준/BOJ] 백준 1613번 : 역사
2020. 8. 18. 06:56ㆍ알고리즘 문제풀이
https://www.acmicpc.net/problem/1613
here위치일 때 dest까지 도달할 수 있는지 확인하는 함수를 만들어서 해결했다.
코드
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
using namespace std;
int n, k;
int front_event, back_event;
int s;
int event1, event2;
vector<int> adj[401];
int visited[401];
//here위치일때 dest까지 도달 할 수 있는지 확인
bool Solve(int here, int dest)
{
bool ret = false;
visited[here] = 1;
//dest에 도달 했을때
if (here == dest)
return true;
for (int i = 0; i < adj[here].size(); i++)
{
int there = adj[here][i];
if (visited[there] == 0)
{
ret = Solve(there, dest);
if (ret == true)
break;
}
}
return ret;
}
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> n >> k;
for (int i = 0; i < k; i++)
{
cin >> front_event >> back_event;
adj[front_event].push_back(back_event); //그래프를 만든다
}
cin >> s;
for (int i = 0; i < s; i++)
{
cin >> event1 >> event2;
memset(visited, 0, sizeof(visited));
if (Solve(event1, event2))
{
cout << -1 << "\n";
}
else
{
memset(visited, 0, sizeof(visited));
if (Solve(event2, event1))
{
cout << 1 << "\n";
}
else
cout << 0 << "\n";
}
}
return 0;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 11559번 : Puyo Puyo (0) | 2020.08.18 |
---|---|
[백준/BOJ] 백준 9466번 : 텀 프로젝트 (0) | 2020.08.18 |
[백준/BOJ] 백준 2589번 : 보물섬 (0) | 2020.08.18 |
[백준/BOJ] 백준 1726번 : 로봇 (0) | 2020.08.18 |
[백준/BOJ] 백준 4991번 : 로봇 청소기 (0) | 2020.08.18 |