는 임의의 배열 X [N] [3] 인 가정한다 (경우 N = 3)이 같은 구성 요소를 추가해야2D 배열의 요소를 다음 형식으로 추가하는 알고리즘?
18 7 6
23 10 27
20 9 14
:
18+7+6=31, 18+23+10+27=78, 18+23+20+9+14=84
다음을 난 최대 값을 찾아야합니다. 위의 경우 그것은 84입니다. 어떻게이 문제에 접근해야합니까? C++에 적합한 의사 코드가 도움이 될 것입니다.
업데이트 : 나는 내가 해결책을 마련하기 위해 전체 어제 헌신하고 내가 좌절있어 도움을 여기 물었다 말씀을 전합니다이 문제를 시도하지 않았다 생각하는 사람들을위한 . 나는 아래의 코드를 함께했다하지만 그건 잘못된 것입니다 : 당신은 그 목적을 위해 std::accumulate
을 사용할 수 있습니다
for(int k=0; k<N; k++){
for(int i=0;i<N;i++){
if(i<N-1-k){
t=t+X[i][0];
}
else{
for(int j=0;j<3;j++){
t=t+X[i][j];
if(answer<t){
answer=t;
}
}
}
}
t=0;
}
cout<<answer;
귀하의 측면에서 시도가 도움이 될 것입니다 (그것이 내가 의미하는 최적의 솔루션되지 않습니다) 모든 가능한 값을 계산하는 없습니다. 그래서 "나를위한 코드를 써주세요"가 아닙니다. 질문은 무엇입니까? – user463035818
"나는이 문제를 시도하지 않았다라고 생각하는 사람들을 위해"- 아무도 적어도 나를 생각하지 않는다. 그럼에도 불구하고 도움을 얻으려면 정확히 어디에서 붙어 있고 문제를 해결하지 못하는지 설명해야합니다. 지금도 나는 현재의 해결책이 잘못된 방법을 우리에게 말하지 않으며 그것이 틀렸다는 것을 어떻게 알았는지 (예 : 기대하고 관찰 된 결과물을 제공하는 것이 도움이 될 것임)를 말하지 않는다고 비판 할 수 있습니다. – user463035818