vector<vector<int>>map(n + 2, vector<int>(n + 2, 0));
//행 크기, 원소값 지정(열 크기)
for (int i = 0; i < h-a; i++) { // 6
for (int j = 0; j < w-b; j++) { // 7
int sum = 0;
for (int z = i; z < i+a; z++) { // 2
for (int x = j; x < j+b; x++) { // 3
sum += vec[z][x];
}
}
if (sum > max)
max = sum;
}
}
50번 h, w 범위 안에서 a, b만큼의 네모 안에 있는 값들중 가장 큰 값을 찾는 것.
for문 조건이 헷갈려서 넣어놨다.
c++ 재귀함수에 대해서 공부를 해보았다.
함수들은 호출이 되면 스택프레임에 기록이 된다.
스택프레임 안에는 매개변수, 지역변수, 복귀주소가 들어있다.
void D(int x) {서 운영된다.
if (x == 0)
return;
else
{
D(x - 1);
cout << x;
}
}
만약 cout << x; 이 D(x-1) 위에 있다면 3 2 1을,
아래에 있다면 1 2 3 을 출력시킨다.