天天看點

Codeforces 412A Poster(貪心)

題目連結:Codeforces 412A Poster

題目大意:公司要為大标題上色,給出标題的長度,接着給出标題,移動梯子的代價是比較大的,是以要求找到最小的移動方案為标題的每個字上色。

解題思路:其實隻要保證就近原則,梯子的移動次數就是最小的,首先看梯子更靠近左邊還是右邊,将它移動至較為靠近的一邊,然後逐個輸出即可。

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
const int N = 105;

int main () {
	int n, k;
	char s[N];
	scanf("%d%d%s", &n, &k, s);

	if (k <= n - k) {
		for (int i = 1; i < k; i++)
			printf("LEFT\n");

		printf("PRINT %c\n", s[0]);
		for (int i = 1; i < n; i++) {
			printf("RIGHT\n");
			printf("PRINT %c\n", s[i]);
		}
	} else {
		for (int i = 0; i < n - k; i++)
			printf("RIGHT\n");
		printf("PRINT %c\n", s[n-1]);

		for (int i = n-2; i >= 0; i--) {
			printf("LEFT\n");
			printf("PRINT %c\n", s[i]);
		}
	}
	return 0;
}