2-R 질문 있습니다.
450
1 câu hỏi đã được viết
제가 수업을 듣다가 중간중간 출력을 찍어보면서 담기는 내용을 좀 파악하고 있는데요,,
코드에서 adj[54] 배열에 데이터가 담기는 과정을 출력해보고 싶은데 어떻게 코드를 작성해야 adj 배열을 출력해볼수 있는지 궁금합니다.
Câu trả lời 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;
}
0
코드 전체를 첨부 해주시면 더 도움이 될 것 같아요.
0
넵! 전체코드는 아래와 같습니다! 수업내용 코드 그대로 공부중이라서요
https://www.acmicpc.net/source/share/ce4d012c085a44918188cb28f01032b0
0
else {
adj[temp].push_back(i);
vector<int> result = adj[temp];
cout << result[temp] << "\n";
}이렇게 해 보시겠어요?
저도 공부하는 중이라 정확한 설명은 힘들지만 일단 이렇게 했을 때 출력이 되네요.
출력 해보는 것도 좋지만 IDE 디버깅 기능을 이용해서 보시면 공부하기 더 좋아요.
0
adj 가 vector 타입인거 같은데
else 구문 안에 이렇게 출력문을 넣으면 될 것 같습니다.
else {
adj[temp].push_back(i);
cout << adj[temp] << "\n";
}
코딩살구클럽 가입부탁드립니다
0
18
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
23
2
5-S 테스트 케이스 질문
0
31
2
코살 문제풀이 환경
0
45
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
41
1
추천 추가문제들
0
41
2
프로그래머스 코테 환경 관련해서 질문드립니다.
0
43
2
해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.
0
39
2
균형 이진 트리 설명 시 높이 숫자
0
30
2
4-H 질문드립니다.
0
35
2
1-K 질문드립니다.
0
41
2
대기업 인적성 시험 질문
0
41
2
4-C 질문드립니다
0
41
2
[수학숙제 / BOJ 2870] 채점 서버 오작동
0
37
1
코테 준비 질문
0
50
1
살구클럽가입 요청드려요
0
38
2
1-I 문제 질문
0
39
2
코딩살구클럽 가입
0
57
2
AI 코딩 도구 사용 시 학습 방법 조언
0
51
2
코딩살구클럽 오류
0
61
2
코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보
0
46
1
코딩살구클럽 테스트 케이스 오류 제보
0
52
2
삼성 코딩테스트
0
61
2
틀린 이유를 못찾겠습니다
0
47
2


저 부분대로만 바꿨는데 에러가 뜹니다ㅠㅠ