提出 #38459272


ソースコード 拡げる

#include <bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
typedef long long ll;
using namespace std;
const int maxn = 2e5 + 5;
int n;
ll k;
char a[maxn];
bool check(int l, int r) {
	for(int i = l, j = r; i < j; i++, j--) {
		if(a[i] != a[j]) {
			return 0;
		}
	}
	return 1;
}
void solve() {
	cin >> n >> k >> (a + 1);
	int d = k % (n * 2);
//	cout << d << '\n';
	if(d < n) {
		for(int i = 1; i <= d; i++) {
			if(a[i] != a[n - d + i]) {
				cout << "No\n";
				return;
			}
		}
		if(!check(d + 1, n) || !check(1, n - d)) {
			cout << "No\n";
			return;
		}
	}
	else {
		int l = d - n;
		if(!check(1, l) || !check(n - l + 1, n)) {
			cout << "No\n";
			return;
		}
		for(int i = 1; i <= n - l; i++) {
			if(a[i] != a[l + i]) {
				cout << "No\n";
				return;
			}
		}
	}
	cout << "Yes\n";
}
int main() {
#ifdef DEBUG
	freopen("1.in", "r", stdin);
#endif
	ios::sync_with_stdio(0);
	cin.tie(0);
	int T;
	cin >> T;
	while(T--) {
		solve();
	}
	return 0;
}

提出情報

提出日時
問題 A - ST and TS Palindrome
ユーザ yanchengzhi
言語 C++ (GCC 9.2.1)
得点 400
コード長 1085 Byte
結果 AC
実行時間 9 ms
メモリ 3696 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 2
AC × 19
セット名 テストケース
Sample 00_sample_01.txt, 00_sample_02.txt
All 00_sample_01.txt, 00_sample_02.txt, 01_rand_01.txt, 01_rand_02.txt, 01_rand_03.txt, 01_rand_04.txt, 01_rand_05.txt, 01_rand_06.txt, 01_rand_07.txt, 01_rand_08.txt, 02_max_rand_01.txt, 02_max_rand_02.txt, 02_max_rand_03.txt, 02_max_rand_04.txt, 03_bit_all_01.txt, 03_bit_all_02.txt, 03_bit_all_03.txt, 03_bit_all_04.txt, 03_bit_all_05.txt
ケース名 結果 実行時間 メモリ
00_sample_01.txt AC 8 ms 3460 KiB
00_sample_02.txt AC 2 ms 3424 KiB
01_rand_01.txt AC 4 ms 3468 KiB
01_rand_02.txt AC 5 ms 3464 KiB
01_rand_03.txt AC 3 ms 3400 KiB
01_rand_04.txt AC 3 ms 3488 KiB
01_rand_05.txt AC 3 ms 3512 KiB
01_rand_06.txt AC 2 ms 3472 KiB
01_rand_07.txt AC 3 ms 3664 KiB
01_rand_08.txt AC 5 ms 3644 KiB
02_max_rand_01.txt AC 3 ms 3660 KiB
02_max_rand_02.txt AC 2 ms 3592 KiB
02_max_rand_03.txt AC 3 ms 3696 KiB
02_max_rand_04.txt AC 2 ms 3672 KiB
03_bit_all_01.txt AC 2 ms 3464 KiB
03_bit_all_02.txt AC 2 ms 3464 KiB
03_bit_all_03.txt AC 2 ms 3492 KiB
03_bit_all_04.txt AC 6 ms 3468 KiB
03_bit_all_05.txt AC 9 ms 3488 KiB