本文主要是介绍POJ3617(字典序最小问题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
书中43页
此题有坑点,PE了40分钟.也是醉了....题目要求每80个字符才换行,而且最后一个如果恰好就不用换,这不是无聊嘛.......
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,m;
char S[2100],P[2100];int main()
{
#ifdef xxzfreopen("in.txt","r",stdin);
#endif // xxzios::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;
}
这篇关于POJ3617(字典序最小问题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!