Submission #67031315


Source Code Expand

Copy
#include <stdio.h>
int N;
char S[114514];
int main(void) {
int T, tc;
if (scanf("%d", &T) != 1) return 1;
for (tc = 0; tc < T; tc++) {
int i;
int nuki = -1;
if (scanf("%d", &N) != 1) return 1;
if (scanf("%114513s", S) != 1) return 1;
for (i = 1; i < N; i++) {
if (S[i - 1] > S[i]) {
nuki = i - 1;
break;
}
}
if (nuki < 0) {
/* 1 */
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>

int N;
char S[114514];

int main(void) {
	int T, tc;
	if (scanf("%d", &T) != 1) return 1;
	for (tc = 0; tc < T; tc++) {
		int i;
		int nuki = -1;
		if (scanf("%d", &N) != 1) return 1;
		if (scanf("%114513s", S) != 1) return 1;
		for (i = 1; i < N; i++) {
			if (S[i - 1] > S[i]) {
				nuki = i - 1;
				break;
			}
		}
		if (nuki < 0) {
			/* 長さ1の連続部分文字列を選ぶ → 変わらない */
			puts(S);
		} else {
			int ire = -1;
			for (i = nuki + 1; i < N; i++) {
				if (S[nuki] < S[i]) {
					ire = i;
					break;
				}
			}
			for (i = 0; i < N; i++) {
				if (i == ire) putchar(S[nuki]);
				if (i != nuki) putchar(S[i]);
			}
			if (ire < 0) putchar(S[nuki]);
			putchar('\n');
		}
	}
	return 0;
}

/*

ポイント:辞書順は、後ろがどうなろうと、前で勝ってしまえば勝ち

最初に1文字抜いたほうが有利になるところで抜く
→ その後、最初に抜いた文字を入れたほうが有利になるところで入れる

*/

Submission Info

Submission Time
Task D - String Rotation
User mikecat
Language C (gcc 12.2.0)
Score 400
Code Size 1061 Byte
Status AC
Exec Time 3 ms
Memory 1748 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 1
AC × 18
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 1516 KiB
01_test_01.txt AC 3 ms 1644 KiB
01_test_02.txt AC 3 ms 1604 KiB
01_test_03.txt AC 3 ms 1616 KiB
01_test_04.txt AC 3 ms 1580 KiB
01_test_05.txt AC 1 ms 1620 KiB
01_test_06.txt AC 1 ms 1592 KiB
01_test_07.txt AC 1 ms 1628 KiB
01_test_08.txt AC 1 ms 1580 KiB
01_test_09.txt AC 1 ms 1536 KiB
01_test_10.txt AC 1 ms 1652 KiB
01_test_11.txt AC 1 ms 1680 KiB
01_test_12.txt AC 1 ms 1616 KiB
01_test_13.txt AC 1 ms 1640 KiB
01_test_14.txt AC 1 ms 1660 KiB
01_test_15.txt AC 1 ms 1688 KiB
01_test_16.txt AC 1 ms 1748 KiB
01_test_17.txt AC 2 ms 1604 KiB


2025-06-24 (Tue)
07:23:06 +09:00