vector<int> group 에 임의의 (사실은 계산된) 값들을 넣어서
각 element별로 weighting 을 한 후 모두 더한 값이 특정 N 이라는 값을 만족시키는 weight 의 조합을 구하려면
(weight이 되는 값의 범위는 한정되어 있고요.)
코드를 어떻게 짜야 하는거져...
예를들어,
group 에 { 10, 20, 30, 40, 50 } 이라고 들어 있다면
(100 - m) < a, b, c, d, e < (100 + m) 이라는 조건에서
a*10 + b*20 + c*30 + d*40 + e*50 = 10000 을 만족시키는 a, b, c, d, e (얘들도 다 정수) 의 조합을 모두 찾는거에여,
만족시키는 조건이 없으면 뭐 그냥 0으로 리턴
group 이라는 배열의 크기가 정해져 있다면 for 문 중첩으로 찾으면 되겠는데
지금 문제가 되는 부분이 ㅠㅠ
저 group 이라는 배열은 그 크기와 원소의 값이 상황에 따라서 변한다는 거에여;;
흐미 지진났네
모든 조합을 만족하는 순서열을 정하고여
a b 값을 구했다면
a b 다음 c 값은 해당 인덱스에 해당하는 어레이와 c의 합이고
이런식으로 기존 저장값을 계속 특정할수있는 위치에 쓰면서 쭉 써나가면서 해당값이 나오는 위치를 나중에 원소로 전환
미지수의 개수가 일정치 않은 상황인데 모든 조합을 만족하는 순서열을 어떻게 구해야 하져 ㅠ
배열의 길이는 알고있으니까
저 방법으로는 구할수있저.. 미리 중첩할 for문의 개수를 가지고있지 않아도 되니까..
한번 해볼게여 ㅠㅠ
재귀로 푸는게 낫겠어여;
거에여->거예여 (받침 있으면 이에요 없으면 예요 이로 끝나면 받침 없으므로 예요 요 떼서 말 되면 에요 아니에요는 예외 인명엔 예요(예 : 길동이예요) 성까지 쓰면 이에요(예 : 홍길동이에요)) [리듬 맞춤법 봇♬]