Algorithm/Data Structure
2018. 7. 31.
KOI(한국정보올림피아드) 2000년 중등부 1번 장난감조립
https://www.acmicpc.net/problem/2637 #include #define MAX_N 100 using namespace std; int N, M; int a[MAX_N+1][MAX_N+1]; //인접 행렬 형태 int n[MAX_N+1]; //n[i] = 완제품 N을 만들기 위해 필요한 부품 i의 개수 bool not_leaf[MAX_N+1] = {false}; //not_leaf[i] = i가 기본부품이면 false, 아니면 true void solve(int i, int v) { n[i] += v; for(int j=1; j 0) // 부품 i가 j를 필요로 하면 solve(j,v*a[i][j]); } } int main() { scanf("%d %d", &N, &M); for..