题目传送门

分析

实际上就是裸的分类讨论,手工枚举几轮便可以发现:

当现在的字符串回文字符串时,那么进行;两种操作是相同的,会产生一种答案。

若其不为回文穿,进行操作后会变为两个回文字符串。

综上,当原字符串是回文字符串时答案为 11 , 不为回文字符串时答案为 22

最后,别忘了特判 00 无法操作,答案为 11 !!!

建议评橙。

代码

#include <bits/stdc++.h>
using namespace std;
 
int T;
int N , K;
string S;
 
 
int main() {
    ios::sync_with_stdio(false);
    cin >> T;
    while(T--) {
        cin >> N >> K >> S;
        if(K == 0) {
            cout << 1 << endl;
            continue;
        }
        bool flag = false;
        for(int i = 0 , j = N - 1; i < N , j >= 0; i++ , j--) {
            if(S[i] != S[j]) flag = true;
        }
        if(flag == true) {
            cout << 2 << endl;
        }
        else {
            cout << 1 << endl;
        }
    }
    return 0;
}