C언어/문제풀다 하나씩

징검다리 건너기

mcdn 2020. 5. 13. 12:17
반응형

 

#include <iostream>
using namespace std;
int n;
int map[11] = { 0,3,1,2,1,3,2,1,2,1,0 };
void abc(int nowind, int addn) {
	if (nowind == 10) {
		cout << "도착" << " ";
		return;
	}
	else if (nowind == 0) {
		cout << "시작"<< " ";
	}
	else {
		cout << addn << " ";
	}
	//cout << nowind << " " << addn << endl;
	abc(nowind + addn,map[nowind+addn]); // 0+5
	if (nowind == 0) {
		cout << "시작" << " ";
	}
	else {
		cout << addn << " ";
	}
}

int main() {
	cin >> n;
	abc(0, n);
	return 0;
}

입력 예제

5

출력 결과

시작 3 2 도착 2 3 시작

 

 

왠지 모르게 계속 헷갈림

 

abc(nowind + addn,map[nowind+addn]); // 0+5

 

이부분에서 map[addn]만 해서 에러남

반응형