程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> poj3617(字典序最小問題)

poj3617(字典序最小問題)

編輯:C++入門知識

poj3617(字典序最小問題)


#include 
#include 
#include 
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<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved