Rylah's Study & Daily Life
04. [S/W 문제해결 기본] 4일차 - 길찾기 (1219) 본문
SW Expert Academy/Programming Intermediate
04. [S/W 문제해결 기본] 4일차 - 길찾기 (1219)
Rylah 2021. 11. 19. 17:44https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14geLqABQCFAYD
#include <iostream>
#include <cstring>
using namespace std;
int arrayNode[100][2];
int dfs(int num,int select){
if (arrayNode[num][select] == 99)
return 1;
if (arrayNode[num][select] == 0)
return 0;
if (dfs(arrayNode[num][select], 0)) // 첫번째 배열 순서쌍부터 점검
return 1;
return dfs(arrayNode[num][select], 1); // 두번째 순서쌍을 그 뒤에
}
int main(int argc, char** argv) {
freopen("input (15).txt", "r", stdin);
for (int t = 1; t <= 10; t++) {
memset(arrayNode, 0, sizeof(arrayNode)); // 배열 초기화, ctring 헤더 필요
int testCaseNum, nodeLength;
cin >> testCaseNum >> nodeLength; // testCaseNum과 입력값의 노드 길이 입력
for (int i = 0; i < nodeLength; i++) { //순서쌍 입력
int inputX, inputY;
cin >> inputX >> inputY;
if (arrayNode[inputX][0] != 0) {
arrayNode[inputX][1] = inputY;
continue; //입력을 완료했으니 한번 루프는 건너뜀
}
// 위 조건이 아니라면 일반적인 0번항에 삽입
arrayNode[inputX][0] = inputY;
}
cout << "#" << testCaseNum << " " << dfs(0, 0) << endl;
}
return 0;
}
'SW Expert Academy > Programming Intermediate' 카테고리의 다른 글
04. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기 (1218) (0) | 2021.11.19 |
---|---|
04. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (1217) (0) | 2021.11.19 |
04. S/W 문제해결 기본 - Stack 1 (6) (0) | 2021.11.19 |
04. S/W 문제해결 기본 - Stack 1 (5) (0) | 2021.11.19 |
04. S/W 문제해결 기본 - Stack 1 (4) (0) | 2021.11.19 |