문제가 이거인데


#define fastio ios::sync_with_stdio(0), cin.tie(0)

#include <iostream>

using namespace std;


int N[1002];


int func(int n) {

if (n == 1) {

return 1;

}

if (n == 2) {

return 2;

}

if (N[n] != 0) {

return N[n];

}

N[n] = func(n - 1) + func(n - 2);

return N[n];

}

int main() {

int n;

cin >> n;

cout << func(n) % 10007;

return 0;

}


이게 틀렸다고 나온 소스고


#define fastio ios::sync_with_stdio(0), cin.tie(0)

#include <iostream>

using namespace std;


int N[1002];


int func(int n) {

if (n == 1) {

return 1;

}

if (n == 2) {

return 2;

}

if (N[n] != 0) {

return N[n];

}

N[n] = func(n - 1) + func(n - 2);

return N[n] % 10007;

}

int main() {

int n;

cin >> n;

cout << func(n);

return 0;

}


이게 정답 소스거든??


둘 차이는 

% 10007 을 출력할 때 해주는가 vs 함수에서 리턴할 때 % 10007 을 해주는가

차이밖에 없는데 왜 첨에는 틀렸다고 나온거야?

난 왜그런지 몰겠어...