hot3272   4년 전

처음에는 벡터로 해야겠다고 생각해서 아래처럼 짜봤는데 시간초과가 나오길래..

벡터라서 그런가 하고 밑에 소스에 올린 것처럼 배열로 짜고, sort 메소드도 안썼는데 계속 시간초과가 나오네요.. ㅠㅠ 
어디가 문제인 건지 알려주시면 감사하겠습니다ㅠ

아.. 비주얼 스튜디오로는 결과값이 잘 나옵니다.


void coordinate_sort(vector<pair<int, int>> v);
int main() {

ifstream in("CoordinateSort.txt");

in >> N;
vector<pair<int, int>> v(N);  // N은 벡터의 크기

for (int i = 0; i < N; i++) {
int a, b;
in >> a >> b;
v[i].first=a;
v[i].second = b;
}

coordinate_sort(v);

return 0;
}

void coordinate_sort(vector<pair<int, int>> v) {

sort(v.begin(), v.end());

for (int i = 0; i < N; i++) {
cout << v[i].first<<" " << v[i].second ;
cout << endl;
}
}


jh05013   4년 전

N이 10만까지 가므로 N2짜리 알고리즘은 사용할 수 없습니다.

hot3272   4년 전

선택 정렬에서는 n^2 까지 가는건 알겠습니다만.. 제 글에 적었던 벡터를 사용한 sort(v.begin(), n.end())는 왜 시간 초과가 날까요 ㅠㅠ

jh05013   4년 전

C를 잘 몰라서... ㅠㅠ

cin, cout은 꽤 느리다고 들었습니다.

hot3272   4년 전

scanf 로 읽으니까 시간 초과 안나네요! 2개가 큰 차이는 나지 않는다고 들었는데 그렇지도 않은가봐요 ㅠ 

댓글을 작성하려면 로그인해야 합니다.