POJ3617(字典序最小问题)

来源:互联网 发布:sql数据库恢复挂起 编辑:程序博客网 时间:2024/06/06 03:25

书中43页

此题有坑点,PE了40分钟.也是醉了....题目要求每80个字符才换行,而且最后一个如果恰好就不用换,这不是无聊嘛.......

#include <iostream>#include <cstdio>#include <cstring>using namespace std;int n,m;char S[2100],P[2100];int main(){#ifdef xxz    freopen("in.txt","r",stdin);#endif // xxz    ios::sync_with_stdio(false);    cin.tie(0);    int sum = 0;    while(cin>>n)    {        for(int i = 0; i < n; i++) cin>>S[i];        int a = 0, b = n-1,cent = 0;        while(a <= b)        {            bool left = false;//默认取左边为错            for(int i = 0; a + i <= b; i++)            {                if(S[a+i] < S[b-i])                {                    left = true;                    break;                }                else if(S[a+i] > S[b-i])                {                    left = false;                    break;                }            }            if(left) P[cent++] = S[a++];            else P[cent++] = S[b--];        }        for(int i = 0; i < n; i++)        {            sum += 1;            cout<<P[i];            if(sum%80 == 0 && i != n-1) cout<<endl;        }    }    return 0;}


0 0
原创粉丝点击