Submission

Status:

[-SSSSSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Monasm

Problemset: B.Shuffle

Language: cpp

Time: 0.002 second

Submitted On: 2026-04-12 13:13:53

#include <iostream>
#include <vector>
#include <string>
#include <cmath>

using namespace std;

void solve() {
    int M;
    if (!(cin >> M)) return;
    
    string S;
    getline(cin >> ws, S);

    vector<int> positions;
    for (int i = 0; i < (int)S.length(); ++i) {
        if (S[i] == 'N' || S[i] == 'K') {
            positions.push_back(i);
        }
    }

    int xor_sum = 0;
    for (int i = 0; i + 1 < (int)positions.size(); i += 2) {
        int gap = abs(positions[i] - positions[i+1]) - 1;
        xor_sum ^= gap;
    }

    if (xor_sum != 0) {
        cout << "YES" << "\n";
    } else {
        cout << "NO" << "\n";
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int T;
    if (cin >> T) {
        while (T--) {
            solve();
        }
    }
    return 0;
}