QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#753421#9568. Left Shifting 3WTR2007TL 0ms0kbC++201.2kb2024-11-16 12:49:092024-11-16 12:49:10

Judging History

你现在查看的是最新测评结果

  • [2024-11-16 12:49:10]
  • 评测
  • 测评结果:TL
  • 用时:0ms
  • 内存:0kb
  • [2024-11-16 12:49:09]
  • 提交

answer

#include<bits/stdc++.h>
#define fi first
#define se second
#define MULT_TEST 1
using namespace std;
typedef long double ldb;
typedef unsigned long long ull;
const int INF = 0x3f3f3f3f;
const int MOD = 998244353;
const int N = 200005;
char s[N];
string T = "nanjing";
inline int read() {
    int w = 0, f = 1;
    char ch = getchar();
    while (ch < '0' || ch > '9') {
        if (ch == '-') f = -1;
        ch = getchar();
    }
    while (ch >= '0' && ch <= '9') {
        w = (w << 1) + (w << 3) + ch - 48;
        ch = getchar();
    }
    return w * f;
}
inline void Solve() {
    int n, k, ans = 0;
    n = read(), k = read();
    scanf("%s", s);
    for (int i = 0; i <= min(k, 8); i++) {
        int res = 0;
        for (int op = -1, j = 0; j < n; j++) {
            while (T[op + 1] != s[j]) op = (op == 2) ? 0 : -1;
            if (T[op + 1] == s[j]) op++;
            if (op == 6) op = -1, res++;
        }
        s[n] = s[0];
        for (int j = 0; j < n; j++) s[j] = s[j + 1];
        ans = max(ans, res);
    }
    printf("%d\n", ans);
}
signed main() {
    int _ = 1;
#if MULT_TEST
    _ = read();
#endif 
    while (_--) Solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Time Limit Exceeded

input:

4
21 10
jingicpcnanjingsuanan
21 0
jingicpcnanjingsuanan
21 3
nanjingnanjingnanjing
4 100
icpc

output:


result: