1. 程式人生 > >3069 Best Cow Line(貪心演算法)

3069 Best Cow Line(貪心演算法)

牛的編號

貪心演算法,按照字典序比較S和反轉後的S2;如果s小則從s頭取出一個文字輸入到 t中;如果s2小,則從s2中取,相等無所謂

注意的是輸出格式問題

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.

超過八十頭牛就換行!一直格式錯誤
#include <iostream>
#include<cstdio>
using namespace std;
int n;
char s[2005];
char t[2005];
void solve()
{
    int num=0;
    int a=0,b=n-1;
    while(a<=b)
    {
        bool left=false;
        for(int i=0;i+a<=b;i++)
        {
            if(s[i+a]<s[b-i])
            {
                left=true;
                break;
            }
            else if(s[i+a]>s[b-i])
            {
                left=false;
                break;
            }
        }
        num++;
        if(left) putchar(s[a++]);
        else putchar(s[b--]);
      if((num)%80==0)//控制輸出格式
            printf("\n");
    }
  cout<<endl;

}
int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>s[i];
        solve();
    return 0;
}