QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#797874 | #9568. Left Shifting 3 | MiaoYu | TL | 0ms | 3668kb | C++14 | 1.5kb | 2024-12-03 20:05:25 | 2024-12-03 20:05:25 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int judge(char a[], int m, int n){
int end = 0;
char nanjing[7] = {'n', 'a', 'n', 'j', 'i', 'n', 'g'};
for (int j = 0 ; j < m ; j++){
while (a[j] == nanjing[n]){
j++;
n++;
if (n == 7){
j--;
end++;
break;
}
}
n = 0;
}
return end;
}
int main(){
int T;
cin >> T;
char nanjing[7] = {'n', 'a', 'n', 'j','i', 'n', 'g'};
for (int nmd = 0 ; nmd < T ; nmd++){
int n, k;
cin >> n >> k;
char s[n];
cin >> s;
int end = judge(s, n, 0);
int count1 = 0;
int count2 = n-1;
int mid;
for (int j = 0 ; j < 7 ; j++){
while (s[0] != nanjing[j]){
j++;
if (j == 7){
break;
}
}
if (j == 7) break;
if (s[0] == 'n'){
if (s[1] == 'a') j = 1;
else if (s[1] == 'j') j = 3;
else if (s[1] == 'g') j = 6;
else break;
}
mid = judge(s, n, j);
if (mid == end) break;
j--;
count2 -= j;
while (s[count2] == nanjing[count1]){
count2++;
count1++;
if (count2 == n) break;
}
if (count2 != n) break;
if ((6-count1) <= k)
end++;
}
cout << end << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3668kb
input:
4 21 10 jingicpcnanjingsuanan 21 0 jingicpcnanjingsuanan 21 3 nanjingnanjingnanjing 4 100 icpc
output:
2 1 3 0
result:
ok 4 number(s): "2 1 3 0"
Test #2:
score: -100
Time Limit Exceeded
input:
2130 39 7 nnananjingannanjingngnanjinganjinggjina 1 479084228 g 33 2 gqnanjinggrjdtktnanjingcvsenanjin 24 196055605 ginganjingnanjingnanjing 23 3 ngnanjinganjingjinnanji 40 3 njingaaznannanjingnananjingyonwpnanjinga 40 207842908 nanjinggphconanjingkonanjinannanjinglxna 46 3 ingjingnnanjingnanjinging...
output:
2 0 3 2 1 1 2 2 1 3 0 1 3 2 1 1 1 1 3 1 0 1 1 1 0 0 0 0 0 4 4 0 1 1 0 1 0 1 1 0 2 1 0 1 1 0