Submission
Status:
[-SSSSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: Monasm
Problemset: B.Shuffle
Language: cpp
Time: 0.003 second
Submitted On: 2026-06-09 10:02:55
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void solve() {
int N;
cin >> N;
string s;
cin >> s;
vector<int> pieces;
for (int i = 0; i < N; i++) {
if (s[i] == 'N' || s[i] == 'K') {
pieces.push_back(i);
}
}
int nim_sum = 0;
for (size_t i = 0; i < pieces.size(); i += 2) {
if (i + 1 < pieces.size()) {
int distance = pieces[i + 1] - pieces[i] - 1;
nim_sum ^= distance;
}
}
if (nim_sum != 0) {
cout << "YES\n";
} else {
cout << "NO\n";
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int T;
cin >> T;
while (T--) {
solve();
}
return 0;
}