BOJ. 11650

Opusdeisong·2022년 12월 25일
0

백준 Class2

목록 보기
19/31


#BOJ11650

좌표 정렬하기

이야 이것도 시대의 날먹중 하나다 코드는 이전에 작성해둔 1181번 베이스로 작성하였다. 앗 근데 이거 시간초과가 나온다... 지금 보니 시간 제한이 1초 밖에 안된다... 이런... 벡터를 사용하면 조금 더 빠르다는 말이 있어서 벡터를 사용해서 해결해 보았다. 와 근데 그런걸 떠나서 그냥 endl문제였다. 후 둘 다 짜 놨으니 둘 다 올려 보겠다...

1181번 베이스 날먹 버전

# include "iostream"
# include "algorithm"

using namespace std;

class hello{
   public:
       int x;
       int y;
};

bool compare (hello a, hello b){
   if (a.x != b.x){
       return a.x < b.x;
   }
   else{
       return a.y < b.y;
   }
};

int main(void){

   ios::sync_with_stdio(false);
   cin.tie(NULL);
   cout.tie(NULL);
   
   int N;
   hello arr[100000];
   
   cin >> N;

   for (int i = 0; i < N; i++){
       cin >> arr[i].x >> arr[i].y;
   }
   sort(arr, arr + N, compare);
   for (int i = 0; i < N; i++){
       cout << arr[i].x << " " << arr[i].y << "\n";
   }
   return 0;
}

벡터 조금 끄적인 버전

# include "iostream"
# include "algorithm"
#include "vector"

using namespace std;



int main(void){

    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int N;

    cin >> N;

    vector<vector<int> > arr(N, vector<int>(2,0));
    
    for (int i = 0; i < N; i++){
        cin >> arr[i][0] >> arr[i][1];
    }
    
    sort(arr.begin(), arr.end());
    
    for (int i = 0; i < N; i++){
        cout << arr[i][0] << " " << arr[i][1] << "\n";
    }
    return 0;
}
profile
Dorsum curvatum facit informaticum.

0개의 댓글