관리 메뉴

너와 나의 스토리

[BOJ] 20309 트리플 소트 본문

Algorithm/기타

[BOJ] 20309 트리플 소트

노는게제일좋아! 2021. 1. 7. 22:54
반응형

문제: www.acmicpc.net/problem/20309

 

문제 풀이:

  • 세 개씩 뒤집다 보니 양끝 값만 swap 된다.
  • 이때, 양 끝 값은 둘 다 짝수 자리 or 둘 다 홀수 자리가 된다.
  • 즉, 짝수 위치에 짝수가 있고, 홀수 위치에 홀수가 있다면 오름차순으로 정렬할 수 있다.

 

소스 코드:

#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
#include <string.h>
#include <queue>
#include <set>
using namespace std;

int n;

int main() {

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

    cin >> n;
    bool flag = true;
    for (int i = 1; i <= n; i++) {
        int a;
        cin >> a;
        if (i % 2) {
            if (a % 2 == 0) flag = false;
        }
    }

    if (flag) cout << "YES";
    else cout << "NO";

    return 0;
}
반응형
Comments