題目連結: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;
}