작성
·
347
0
제가 수업을 듣다가 중간중간 출력을 찍어보면서 담기는 내용을 좀 파악하고 있는데요,,
코드에서 adj[54] 배열에 데이터가 담기는 과정을 출력해보고 싶은데 어떻게 코드를 작성해야 adj 배열을 출력해볼수 있는지 궁금합니다.
답변 3
1
안녕하세요 ㅎㅎ
이렇게 하면 됩니다.
#include<bits/stdc++.h>
using namespace std;
int n, r, temp, root;
vector<int> adj[54];
int dfs(int here){
int ret = 0;
int child = 0;
for(int there : adj[here]){
if(there == r) continue;
ret += dfs(there);
child++;
}
if(child == 0) return 1;
return ret;
}
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
cin >> n;
for(int i = 0; i < n; i++){
cin >> temp;
if(temp == -1)root = i;
else adj[temp].push_back(i);
cout << "입벌려 들어간다!!\n";
for(int i : adj[temp]){
cout << i << '\n';
}
}
cin >> r;
if(r == root){
cout << 0 << "\n";return 0;
}
cout << dfs(root) << "\n";
return 0;
}
넵! 전체코드는 아래와 같습니다! 수업내용 코드 그대로 공부중이라서요
https://www.acmicpc.net/source/share/ce4d012c085a44918188cb28f01032b0