본문 바로가기

Problem solving/BOJ29

[BOJ] 11265. 끝나지 않는 파티 (C++) 문제 파티장에서 파티장으로 직접적으로 연결된 도로를 통해 이동하는 시간이 있을 때, 손님이 시간내에 다른 파티장에 도착할 수 있으면 “Enjoy other party”를, 시간내에 도착할 수 없으면 "Stay here”를 출력 생각할 것 모든 파티장에서 모든파티장의 최단 경로를 알아야하고, 경유하며 방문하므로 플로이드 워셜 사용하기 코드 #include #include #define INF 1e9 using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N, M; cin >> N >> M; vector adj(N + 1, vector(N + 1, INF)); for (int i = 1; i adj.. 2023. 7. 25.
[BOJ] 2224. 명제 증명 (C++) 문제 생각할 것 문제에서 알파벳에서 알파벳으로 가능한 경로를 구하라고 했으므로 플로이드 워셜을 쓰자 아스키코드 표를 확인해보니 대문자와 소문자 사이에 다른 문자들이 더 있었다..!! 알파벳 숫자가 26개여서 배열을 26 *2로 만들어 주었다가 out of bound에러가 발생했다. 아스키코드 표를 확인해보니 대문자와 소문자 사이에 다른 문자들이 더 있었다..!! 전건과 후건이 같은 경우는 출력하지 않기로 한다는 조건을 추가하지 않았었다. 개수를 출력하지 않았었다…… 코드 #include #include #include #define INF 1e9 using namespace std; int main() { int N; cin >> N; char A, B; string IS; int alphabetSize.. 2023. 7. 25.
[BOJ] 11403. 경로 찾기 (C++) 문제 가중치 없는 방향 그래프가 주어졌을 때, 모든 정점에 대해서, 길이가 양수인 경로가 있는지 없는지 구하기 경로 있으면 1, 없으면 0 출력 생각할 것 모든 정점에 대해 모든 정점으로 간다는 것에서 바로 플로이드 와샬 선택! 코드 #include #include #define INF 1e9 using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; // 가중치 없는 방향 그래프가 주어짐, 모든 정점에 대해 모든 정점으로 -> 플로이드 와샬 cin >> N; int input; vector adj(N, vector(N, INF)); for (int i = 0; i < N; i++) { for.. 2023. 7. 25.
[BOJ] 14567. 선수과목 (Prerequisite) (C++) 문제 과목의 수 N과 선수 조건의 수 M이 주어진다. 어떤 과목들은 선수과목이 있어 해당되는 모든 과목을 먼저 이수해야만 해당 과목을 이수할 수 있게 되어 있다. 한 학기에 들을 수 있는 과목 수에 제한이 없다 모든 과목은 매 학기 항상 개설된다 모든 과목에 대해 각 과목을 이수하려면 최소 몇 학기가 걸리는지 출력 생각할 것 위상 정렬을 이용하자 연결된 과목에 1을 더해 과목 이수에 소요되는 값을 추가하자 코드 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N, M, A, B; cin >> N >> M; vector adj(N + 1); .. 2023. 7. 24.