亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 050320170dicorder.cpp

?? n個元素{1,2,&#61516 , n }有n!個不同的排列。將這n!個排列按字典序排列
?? CPP
字號:
#include<iostream.h>
#include<fstream.h>
#include<ctype.h>
#include<string.h>

void Reverse(char*p)
{
    int len=strlen(p),i;
    char temp;
    for(i=0;i<len/2;i++)
    {
        temp=p[i];
        p[i]=p[len-1-i];
        p[len-1-i]=temp;
    }

}

char* AddAnyLongInt(char *p1,char *p2)
{
    int flag=0;//進位標志
    int len1=strlen(p1),len2=strlen(p2),temp,pos,pos1,pos2;
    char *p;
    if(len1>len2)
    {
        temp=len1;
        len1=len2;
        len2=temp;
        char *p0=p1;
        p1=p2;
        p2=p0;
    }
    pos=pos1=pos2=0;
    p=new char[len2+2];
    while(pos<len1)
    {
        temp=(p1[pos1++]-'0')+(p2[pos2++]-'0')+flag;
        if(temp>9)
        {
            flag=1;
            temp-=10;
        }
        else
            flag=0;
        p[pos++]=temp+'0';
    }
    while(pos<len2)
    {
        temp=(p2[pos2++]-'0')+flag;
        if(temp>9)
        {
            flag=1;
            temp-=10;
        }
        else
            flag=0;
        p[pos++]=temp+'0';
    }
    if(flag)
        p[pos++]='1';
    p[pos]='\0';
    
    return p;
}

char *MultiAnyLongInt(char *p1,char *p2)
{
    int main,left;
    int len1=strlen(p1),len2=strlen(p2),pos,pos1,pos2,temp;
    char *p=new char[len1+len2+1];
    main=left=0;
    p[len1+len2]='\0';
    for(pos=0;pos<len1+len2;pos++)
        p[pos]='0';
    for(pos1=0;pos1<len1;pos1++)
    {
        for(pos2=0;pos2<len2;pos2++)
        {
            pos=pos1+pos2;
            temp=(p1[pos1]-'0')*(p2[pos2]-'0')+(p[pos]-'0')+main;
            main=temp/10;
            left=temp%10;
            p[pos]=left+'0';
        }
        p[pos+1]=main+'0';
        main=0;
    }
    pos=len1+len2-1;
    while((pos>=0)&&(p[pos]=='0'))
        pos--;
    pos++;
    p[pos]='\0';
    return p;
}

char * SubAnyLongInt(char *p1,char *p2)
{
    
	int flag=0;
    int len1=strlen(p1),len2=strlen(p2),pos,pos1,pos2,temp;
    char *p;
    p=new char[len1+1];
    p[len1]='\0';
    pos=pos1=pos2=0;
    while(pos<len2)
    {
        temp=(p1[pos1++]-'0')-(p2[pos2++]-'0')-flag;
        if(temp<0)
        {
            flag=1;
            temp+=10;
        }
        else
            flag=0;
        p[pos++]=temp+'0';
    }
    while(pos<len1)
    {
        temp=(p1[pos1++]-'0')-flag;
        if(temp<0)
        {
            flag=1;
            temp+=10;
        }
        else
            flag=0;
        p[pos++]=temp+'0';
    }
    pos--;
    while((p[pos]=='0')&&pos>=0)
        pos--;
    pos++;
    p[pos]='\0';
    return p;
}


char* Factorial(char *p)
{
    
	char *one=new char[2],*pc,*factorial,*temp1,*temp2;
	one="1";
    int len=strlen(p);
	pc=new char[len+1];
	factorial=new char[len+1];
	
	if(len==0)
        return "1";
    strcpy(pc,p);
    strcpy(factorial,p);
	Reverse(pc);
    while(strcmp(pc,one)>0)
    {
		Reverse(pc);
		temp1=SubAnyLongInt(pc,one);
        temp2=MultiAnyLongInt(factorial,temp1);
        delete [] pc;
        pc=temp1;
        delete [] factorial;
        factorial=temp2;
		Reverse(pc);
    }
	delete [] pc;
    return factorial;
}

//convert int to string
char* itos(int n)
{
	int len=0,tmp=n,pos=0;
	while(tmp)
	{
		len++;
		tmp/=10;
	}

	char *p=new char[len+1];
	p[len]='\0';
	while(n)
	{
		tmp=n%10;
		p[pos++]=tmp+'0';
		n/=10;
	}
	return p;
}
		

char* FindDicOrder(int *a,int n)
{
	char* count=new char[1];
	char *temp1,*temp2,*temp3;
	count="";
	int i,j,tmp;
	int MediumNum;
	for(i=0;i<n-1;i++)
	{
		
		MediumNum=a[i]-1;
		
		tmp=0;
		for(j=0;j<i;j++)
		{
			if(a[j]<=MediumNum)
				tmp++;
		}
		MediumNum-=tmp;
		
		temp2=itos(n-1-i);
		
		
		temp1=Factorial(temp2);
		
		
		delete[] temp2;
		temp2=itos(MediumNum);
		
        temp3=MultiAnyLongInt(temp1,temp2);
		
		delete[] temp1,temp2;
		temp1=AddAnyLongInt(count,temp3);
		
		delete[] temp3;
	    delete[] count;
		count=temp1;
	}
	return count;
}



void SearchNext(int *a,int n)
{
	int i,medium=0,tmp,tmp1,tmp2,half;
	for(i=0;i<n-1;i++)
		if(a[i]<a[i+1])
			medium=i+1;
	if(!medium)
		return;
    tmp1=medium-1;
	tmp2=medium;
    while((tmp2<n)&&(a[tmp1]<a[tmp2]))
		tmp2++;
	tmp2--;
	tmp=a[tmp1];
	a[tmp1]=a[tmp2];
	a[tmp2]=tmp;
	half=(medium+n-1)/2;
	for(i=medium;i<=half;i++)
	{
	    n--;
		tmp=a[i];
		a[i]=a[n];
		a[n]=tmp;
	}
	
}

void main()
{
	ifstream fin("input.txt");
	ofstream fout("output.txt");
	int n;
	fin>>n;
	
	int *input=new int[n];
	int i;
    for(i=0;i<n;i++)
		fin>>input[i];
	
	fin.close();

	char* count=FindDicOrder(input,n);
    SearchNext(input,n);
	
	
	Reverse(count);
	if(!strlen(count))
		fout<<0<<endl;
	else
        fout<<count<<endl;
	for(i=0;i<n;i++)
		fout<<input[i]<<" ";
	fout.close();
	
	
	delete[] input,count;
}






















	

           

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品高清在线| 懂色中文一区二区在线播放| 国产精品女上位| 精品噜噜噜噜久久久久久久久试看| 欧美无砖专区一中文字| 色婷婷狠狠综合| 日本高清不卡视频| 91福利国产精品| 欧美午夜电影网| 欧美性猛片xxxx免费看久爱| 欧美无砖砖区免费| 欧美久久一区二区| 日韩欧美一级特黄在线播放| 精品国产麻豆免费人成网站| 久久综合九色综合欧美亚洲| 久久久久国产精品麻豆| 国产欧美一区二区在线| 国产精品美女久久久久久| 亚洲欧美另类综合偷拍| 亚洲成人免费影院| 热久久国产精品| 国产在线不卡视频| 不卡一卡二卡三乱码免费网站| 一本久久a久久精品亚洲| 欧美精品v日韩精品v韩国精品v| 日韩免费看的电影| 久久久亚洲国产美女国产盗摄 | 一区二区三区在线播放| 亚洲码国产岛国毛片在线| 偷偷要91色婷婷| 国产精品资源网| 色哦色哦哦色天天综合| 日韩三级电影网址| 国产精品视频一二| 视频一区视频二区中文| 高清在线成人网| 欧美日韩一区二区三区四区五区| 精品久久国产老人久久综合| 亚洲欧洲www| 日本欧美在线观看| 91亚洲精华国产精华精华液| 日韩视频免费直播| 亚洲精品一二三| 国产一区亚洲一区| 欧美丰满嫩嫩电影| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲精品国产一区二区三区四区在线| 亚洲第一成人在线| av在线一区二区| 欧美精品一区二区三区蜜臀| 亚洲一区二区在线免费观看视频| 激情都市一区二区| 欧美剧在线免费观看网站| 亚洲欧美一区二区三区久本道91 | 亚洲综合男人的天堂| 国产综合色产在线精品| 欧美视频在线观看一区二区| 亚洲国产精品av| 色94色欧美sute亚洲线路二 | 国产精品久久久久aaaa樱花| 免费成人美女在线观看.| 91丨porny丨蝌蚪视频| 国产亚洲一区二区三区在线观看| 日韩有码一区二区三区| 日本高清无吗v一区| 亚洲欧洲日产国码二区| 国产成人av电影在线播放| 2021国产精品久久精品| 日韩激情一区二区| 欧美性生交片4| 亚洲免费毛片网站| 99久久99久久免费精品蜜臀| 国产日韩视频一区二区三区| 国模套图日韩精品一区二区| 欧美成人女星排名| 欧美96一区二区免费视频| 91精品国产综合久久精品图片| 亚洲国产精品久久一线不卡| 欧美色爱综合网| 亚洲一区二区三区国产| 欧美高清你懂得| 亚洲午夜久久久久久久久久久| 欧美日韩在线播放三区四区| 亚洲综合网站在线观看| 欧美三电影在线| 视频一区二区中文字幕| 欧美一区二区成人6969| 久久精品理论片| 2021中文字幕一区亚洲| av影院午夜一区| 亚洲精品视频在线观看网站| 欧美日韩综合在线| 蜜臀av在线播放一区二区三区| 精品国产网站在线观看| 国产成人av福利| 自拍av一区二区三区| 欧美日韩免费电影| 麻豆国产欧美一区二区三区| 亚洲女性喷水在线观看一区| 欧美日韩一二三| 裸体在线国模精品偷拍| 日本一区二区三区久久久久久久久不 | 99久久99久久久精品齐齐| 一区二区三区毛片| 日韩欧美在线网站| 成人午夜又粗又硬又大| 亚洲激情一二三区| 日韩欧美资源站| eeuss鲁一区二区三区| 日韩综合一区二区| 久久久亚洲午夜电影| 欧美自拍丝袜亚洲| 久久91精品久久久久久秒播| 日韩毛片在线免费观看| 欧美一区二区二区| 94色蜜桃网一区二区三区| 毛片基地黄久久久久久天堂| 中文字幕精品—区二区四季| 欧美日韩一区在线观看| 国产成人午夜精品影院观看视频| 亚洲国产你懂的| 日韩精品国产欧美| 亚洲图片你懂的| 久久人人爽爽爽人久久久| 欧美四级电影网| 丁香桃色午夜亚洲一区二区三区| 亚洲高清免费一级二级三级| 中文字幕一区二区不卡| 精品国产91亚洲一区二区三区婷婷| 99久久精品国产一区| 精品一区二区三区蜜桃| 三级在线观看一区二区| 自拍偷拍国产精品| 中文字幕精品一区二区精品绿巨人| 日韩欧美一级精品久久| 欧美亚洲一区二区在线| 成人黄色在线视频| 国产一区二区三区在线观看免费视频| 亚洲国产aⅴ天堂久久| 中文字幕视频一区二区三区久| 久久综合九色综合久久久精品综合 | 91丝袜高跟美女视频| 高清beeg欧美| 国产精一区二区三区| 久久99精品国产| 日本视频免费一区| 日本特黄久久久高潮| 免费观看日韩电影| 日韩精品91亚洲二区在线观看| 一区二区三区四区在线播放 | 久久精品国产99久久6| 日韩精品亚洲一区二区三区免费| 亚洲三级小视频| 成人欧美一区二区三区| 亚洲欧洲韩国日本视频| 国产精品素人一区二区| 国产精品久久久久久福利一牛影视 | 久久这里只有精品6| 日韩欧美美女一区二区三区| 日韩亚洲欧美综合| 久久综合狠狠综合| 久久久亚洲高清| 国产拍欧美日韩视频二区| 国产精品剧情在线亚洲| 中文字幕亚洲区| 亚洲国产中文字幕在线视频综合 | 国产日韩欧美电影| 国产亚洲视频系列| 国产精品久久久久aaaa| 亚洲精品中文在线影院| 一区二区三区四区av| 免费成人小视频| 国产精品资源网站| 91视视频在线直接观看在线看网页在线看| 成人黄色小视频在线观看| 欧美亚洲动漫另类| 欧美一区二区日韩一区二区| 久久久亚洲午夜电影| 亚洲激情图片一区| 日韩影院在线观看| 成人少妇影院yyyy| 欧美性受极品xxxx喷水| 2021中文字幕一区亚洲| 一区二区三区日韩| 日韩av一区二区三区四区| 国产精品一区三区| 日本高清成人免费播放| 精品成人一区二区三区| 亚洲欧美怡红院| 日本不卡在线视频| gogo大胆日本视频一区| 91精品国产免费| 国产精品乱码人人做人人爱 | 国产一区二区在线影院| 色综合天天综合狠狠| 精品国产髙清在线看国产毛片| 亚洲品质自拍视频网站| 捆绑调教一区二区三区| 日本韩国欧美在线| 久久久一区二区三区捆绑**|