Best Cow Line
来源:互联网 发布:samba windows共享 编辑:程序博客网 时间:2024/06/05 11:15
Description
FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual”Farmer of the Year” competition. In this contest every farmer arranges his cows in a line and herds them past the judges.
The contest organizers adopted a new registration scheme this year: simply register the initial letter of every cow in the order they will appear (i.e., If FJ takes Bessie, Sylvia, and Dora in that order he just registers BSD). After the registration phase ends, every group is judged in increasing lexicographic order according to the string of the initials of the cows’ names.
FJ is very busy this year and has to hurry back to his farm, so he wants to be judged as early as possible. He decides to rearrange his cows, who have already lined up, before registering them.
FJ marks a location for a new line of the competing cows. He then proceeds to marshal the cows from the old line to the new one by repeatedly sending either the first or last cow in the (remainder of the) original line to the end of the new line. When he’s finished, FJ takes his cows for registration in this new order.
Given the initial order of his cows, determine the least lexicographic string of initials he can make this way.
Input
* Line 1: A single integer: N
* Lines 2..N+1: Line i+1 contains a single initial (‘A’..’Z’) of the cow in the ith position in the original line
Output
The least lexicographic string he can make. Every line (except perhaps the last one) contains the initials of 80 cows (‘A’..’Z’) in the new line.
Sample Input
6
A
C
D
B
C
B
Sample Output
ABCBCD
#include<iostream>#include<string>using namespace std;int main() { int N; char str[2005]; cin >> N; for (int i = 0; i < N; i++) cin >> str[i]; int a = 0, b = N - 1, count = 0; while (a <= b) { bool left = false; for (int i = 0; a + i <= b; i++) { if (str[a + i] > str[b - i]) { left = false; break; } else if (str[a + i] < str[b - i]) { left = true; break; } } if (left) cout << str[a++]; else cout << str[b--]; count++; if (count == 80) { count = 0; cout << endl; } } return 0;}
- pku3617 Best Cow Line
- poj Best Cow Line
- Best Cow Line
- POJ3617 Best Cow Line
- Best Cow Line
- POJ3617 Best Cow Line
- POJ3617 Best Cow Line
- Best Cow Line
- best cow line(poj3617)
- Best Cow Line
- POJ-Best Cow Line
- POJ3617-Best Cow Line
- B - Best Cow Line
- POJ3617 Best Cow Line
- Tyvj2500 Best Cow Line
- POJ3617 Best Cow Line
- Best Cow Line FZU
- poj3617 Best Cow Line
- 标准库函数strcpy函数实现
- 牧佑oneZeroZeroDayDream--padding和margin讲解
- hdu 6036 NTT
- USB CDC从理论到实践
- bzoj 2653 middle 二分答案 主席树判定
- Best Cow Line
- 20 Three.js实现场景所有物体使用相同的材质
- try-finally连用
- lrs_save_searched_string
- 分享一个:interrupt、interrupted和isInterrupted的区别,写的很好
- java web 登录后更新JSESSIONID
- onNewIntent
- 组合数+dp 运
- Microsoft Office怎么卸载干净?