-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
강의를 거의 다 듣고 처음으로 백준 문제를 풀어봤는데 메모리 초과 문제가 발생했습니다
22.03.12 19:25 작성 조회수 123
0
강의를 거의 다 듣고 처음으로 백준 문제를 풀어봤는데 dev c++에서는 잘 돌아가는데 왜 백준에서는 메모리초과가 뜨는지 모르겠습니다 ㅠㅠㅠ (모든 예제 입력에 맞는 출력이 나왔습니다)
1043 거짓말 문제이고(https://www.acmicpc.net/problem/1043), 강의에서 알려주신 인접리스트를 사용해서 문제를 풀어봤는데 왜 메모리 초과가 뜬걸까요?ㅠㅠㅠ 메모리 제한이 128MB인데, 혹시 dev c++에서 메모리 사용량을 확인할 수 있는 방법이 있나요?
#include<bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
freopen("input.txt", "rt", stdin);
int n, m, warning, party, i, j, a, b, flag, cnt=0;
cin>>n>>m;
vector<int> warnings(n+1, 0), tmp[n+1];
cin>>a;
if(a==0) {
cout<<m;
return 0;
}
for(i=0; i<a; i++) {
cin>>b;
warnings[b] = 1;
}
for(i=0; i<m; i++) {
cin>>a;
flag = 1;
for(j=0; j<a; j++) {
cin>>b;
tmp[i].push_back(b);
if(warnings[b] == 1) flag = 0;
}
if(flag == 0) {
for(j=0; j<tmp[i].size(); j++) {
warnings[tmp[i][j]] = 1;
}
}
}
for(i=0; i<m; i++) {
flag = 1;
for(j=0; j<a; j++) {
if(warnings[tmp[i][j]] == 1) {
flag = 0;
break;
}
}
if(flag == 1) cnt++;
}
cout<<cnt;
return 0;
}
답변을 작성해보세요.
답변 1