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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? josep.cpp

?? Josephus排列問題定義如下:假設(shè)n個競賽者排成一個環(huán)形。給定一個正整數(shù)m
?? CPP
字號:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

class List;

class OutOfBounds{};

class Node//節(jié)點類
{
	friend class List;
	friend bool Jose(const int& total,const int& distance,const int& par,
		int* survivor_num,int* survivor_list);
private:
	int data;		//用于存儲每個人在圈中的序號
	string name;	//存儲每個人的名字
	Node* next;
};

class List
{
public:
	List();
	~List();
	//輸入表中人的序號,得到其名字存儲在name中
	bool Retrieve(const int num,string& name) const;
	//在指定的位置k處插入節(jié)點
	List& push_back(const int& x,const string& name);
	//刪除指定的節(jié)點
	List& Delete(Node* current);

	friend bool Jose(const int& total,const int& distance,const int& par,
		int* survivor_num,int* survivor_list);
private:
	int len;//表的長度
	Node* last;//指向最后一個節(jié)點的指針
};

List::List()//默認表中沒有元素
{
	last=NULL;
	len=0;
}

List::~List()//析構(gòu)函數(shù),刪除節(jié)點
{
	Node* next;
	while(len-->1)
	{
		next=last->next;
		delete last;
		last=next;
	}
	delete last;
}
//輸入表中人的序號,得到其名字存儲在name中
bool List::Retrieve(const int num,string& name) const
{
	Node* current=last->next;
	int index=0;
	while(index++<len)
	{
		if(current->data==num)
		{
			name=current->name;
			return true;
		}
		current=current->next;
	}
	return false;
}
//刪除p指向的節(jié)點
List& List::Delete(Node* p)
{
	Node* current=last->next;
	Node* c=last;
	int index=0;
	while(index++<len)
	{
		if(current==p)
		{
			c->next=current->next;
			if(current==last) last=c;
			delete p;
			len--;
			return *this;
		}
		else
		{
			c=current;
			current=current->next;
		}
	}
	if(index==len) throw OutOfBounds();//p指向的節(jié)點不在該鏈表中,拋出異常	
	return *this;
}
//在鏈表的末尾插入一個元素
List& List::push_back(const int& num,const string& name)
{
	Node* p=new Node;//新建一個節(jié)點
	p->data=num;
	p->name=name;
	
	if(last)
	{
		Node* temp=last->next;
		last->next=p;
		p->next=temp;
		last=p;
	}
	else
	{
		last=p;
		p->next=p;
	}
	len++;
	
	return *this;
}

bool Jose(const int& total,const int& distance,const int& par,
		  int* survivor_num,int* survivor_list)
{
	List list;
	for(int i=0;i<total;i++)
	{
		list.push_back(i+1,"");
	}
	Node* current=list.last->next;
	
	int j=0;
	for(; j<total-par ;j++)
	{
		int k=distance%list.len;
		if(!k) k=list.len;

		for(;k>1;k--)
		{
			current=current->next;
		}
		survivor_list[j]=current->data;
		Node* c=current;
		current=current->next;
		list.Delete(c);
	}
	
	for(int m=0;m<par;m++)
	{
		for(int n=0;n<total-par;n++)
		{
			if(survivor_num[m]==survivor_list[n]) return false;
		}
	}
	return true;//最后的par個數(shù)與文件中讀入的序列相同,表明該distance 滿足要求,返回true
}

int Josep(int total,int par,int* survivor_num,int* survivor_list)
{
	for(int distance=1;  ;distance++)
	{
		if(Jose(total,distance,par,survivor_num,survivor_list))
				return distance;
	}
}

void main()
{
	ifstream Input("input.txt");
	if(!Input)
	{
		cerr<<"Fail to open the \"input.txt\"!"<<endl;
		exit(1);
	}
	cout<<"Suceed to open the \"input.txt!\""<<endl;
	
	ofstream Output("output.txt");
	if(!Output)
	{
		cerr<<"Fail to open or built the \"output.txt\"!"<<endl;
		exit(1);
	}
	cout<<"Suceed to open the \"output.txt\"!"<<endl;
	
	int total,par;
	
	Input>>total>>par;//從文件中讀入總?cè)藬?shù)和排在最后的指定的人數(shù)
	
	if(par<1 || total<1) //檢測輸入是否合法
	{
		cout<<"Wrong input!Please check it!"<<endl;
		
		throw OutOfBounds();
	}

	int* survivor_num=new int[par];//survivor_num為指向排在最后的par個人序號組成的數(shù)組的指針
	
	for(int i=0;i<par;i++) Input>>survivor_num[i];//從文件中讀入par個人的序號
			
	List list;
	string name;
	
	for(int j=0;j<total;j++)
	{
		Input>>name;//從文件中讀入total個人的名字
		list.push_back(j+1,name);
	}
	
	int* survivor_list=new int[total-par];//survivor_list為指向滿足要求的Josephus排列的指針
	//調(diào)用函數(shù)得到間隔人數(shù),并將其輸出到文件output.txt中
	int distance=Josep(total,par,survivor_num,survivor_list);
	
	Output<<distance<<endl;
	
	for(int k=0;k<total-par;k++)
	{//將前total-par個出列的人名字輸出到文件output.txt中
		list.Retrieve(survivor_list[k],name);
		Output<<name.c_str()<<endl;
	}

	
	delete[] survivor_num;
	delete[] survivor_list;
	
	Input.close();
	Output.close();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色小视频在线观看| 51久久夜色精品国产麻豆| 欧美日韩免费电影| 国产三级精品三级| 日韩中文字幕亚洲一区二区va在线 | 欧美日韩视频在线一区二区| 久久亚洲免费视频| 天天综合日日夜夜精品| 成人h动漫精品一区二区| 欧美大度的电影原声| 一区二区三区中文字幕精品精品 | 久久欧美中文字幕| 亚洲v中文字幕| 99国产精品国产精品久久| 精品久久人人做人人爰| 亚洲午夜免费电影| 91丨国产丨九色丨pron| 国产日韩欧美精品一区| 免费在线观看视频一区| 欧美日韩高清一区二区三区| 国产精品毛片久久久久久久| 国产一区二区三区四区在线观看 | 欧美午夜在线一二页| 中文字幕亚洲视频| 成人黄页毛片网站| 国产欧美日韩不卡免费| 国产乱码字幕精品高清av| 日韩色在线观看| 人人狠狠综合久久亚洲| 制服丝袜国产精品| 午夜a成v人精品| 欧美日韩免费高清一区色橹橹| 国产精品福利一区二区三区| 成人黄色777网| 中文字幕+乱码+中文字幕一区| 国产精品一区二区三区乱码| www精品美女久久久tv| 久久97超碰色| 日韩你懂的在线播放| 紧缚奴在线一区二区三区| 日韩欧美自拍偷拍| 国内精品久久久久影院色| 久久久国产一区二区三区四区小说 | 日韩精品亚洲专区| 欧美一区二区在线免费观看| 蜜臀久久99精品久久久久宅男 | 中文字幕中文字幕一区二区| 粉嫩av亚洲一区二区图片| 欧美极品少妇xxxxⅹ高跟鞋| 91在线一区二区| 亚洲黄色小说网站| 欧美麻豆精品久久久久久| 麻豆精品久久精品色综合| 久久综合九色综合欧美98| 国产不卡视频一区| 亚洲摸摸操操av| 在线播放/欧美激情| 麻豆极品一区二区三区| 日本一区二区三区dvd视频在线| 成人av中文字幕| 亚洲成国产人片在线观看| 精品日韩欧美在线| 成人av资源在线观看| 亚洲尤物在线视频观看| 精品国产亚洲在线| 99久久亚洲一区二区三区青草| 亚洲第一二三四区| 久久蜜桃av一区精品变态类天堂| 成人高清免费在线播放| 亚洲高清免费视频| 国产日韩欧美综合在线| 在线欧美日韩精品| 国产乱码精品一区二区三| 亚洲色图色小说| 日韩欧美国产一区在线观看| 成人精品视频一区二区三区| 五月激情综合色| 国产精品久久毛片| 日韩欧美在线一区二区三区| 99re这里只有精品6| 久久91精品久久久久久秒播| 尤物在线观看一区| 国产亚洲精品久| 欧美日韩成人综合在线一区二区| 国产成人精品在线看| 午夜激情一区二区三区| 亚洲日本在线天堂| 2023国产精品| 欧美剧在线免费观看网站| 成人做爰69片免费看网站| 青青国产91久久久久久| 亚洲一区免费视频| 亚洲欧美综合另类在线卡通| 久久美女艺术照精彩视频福利播放 | 91成人看片片| 丁香激情综合五月| 久草热8精品视频在线观看| 亚洲香肠在线观看| 亚洲欧美日本在线| 自拍av一区二区三区| 国产日韩影视精品| 久久综合久久综合久久| 日韩欧美一区二区久久婷婷| 欧美丰满美乳xxx高潮www| 色丁香久综合在线久综合在线观看 | 国产麻豆成人精品| 亚洲一区影音先锋| 国产精品夫妻自拍| 国产精品大尺度| 久久精品亚洲一区二区三区浴池| 欧美肥妇毛茸茸| 欧美亚洲国产bt| 白白色亚洲国产精品| 蜜桃一区二区三区四区| 尤物在线观看一区| 成人免费小视频| 欧美一区二区在线观看| 国产精品456| 久久99国产精品久久99| 日韩av在线发布| 亚洲成av人片www| 中文字幕成人av| 亚洲色图色小说| 一色屋精品亚洲香蕉网站| 国产欧美日韩不卡| 久久蜜桃一区二区| 26uuu国产电影一区二区| 日韩欧美国产麻豆| 日韩免费观看高清完整版| 91最新地址在线播放| 成人久久视频在线观看| 国产真实精品久久二三区| 久久 天天综合| 国产精品2024| 成人午夜免费电影| 韩国精品一区二区| 99麻豆久久久国产精品免费| 成人a免费在线看| 色哟哟一区二区三区| 91丨国产丨九色丨pron| 91精品国产黑色紧身裤美女| 欧美片在线播放| 欧美一区欧美二区| 日韩一卡二卡三卡| 精品国产一区二区三区久久久蜜月| 26uuu国产电影一区二区| 久久久噜噜噜久噜久久综合| 国产三级欧美三级日产三级99| 亚洲日本va午夜在线电影| 亚洲免费av在线| 亚洲成人av在线电影| 免费人成在线不卡| 国产麻豆精品在线观看| 欧美亚洲免费在线一区| 欧美精品日韩一区| 精品99一区二区三区| 国产精品视频yy9299一区| 一区二区三区小说| 日本亚洲三级在线| 国产盗摄精品一区二区三区在线| 国产真实乱子伦精品视频| 99国产精品99久久久久久| 欧美视频一区在线观看| 欧美一级一级性生活免费录像| 中文字幕在线免费不卡| 亚洲网友自拍偷拍| 黑人巨大精品欧美一区| yourporn久久国产精品| 欧美一区二区三区四区在线观看 | 日韩av网站免费在线| 久久福利资源站| 91丨porny丨国产| 日韩一区二区三免费高清| 专区另类欧美日韩| 蜜臀av性久久久久蜜臀aⅴ| 国产69精品久久久久毛片| 欧洲国内综合视频| 国产精品久久久久久久久免费樱桃| 亚洲成人在线网站| 国产91精品久久久久久久网曝门| 欧美亚洲免费在线一区| 久久嫩草精品久久久精品一| 欧美aⅴ一区二区三区视频| av中文字幕在线不卡| 日韩欧美的一区二区| 亚洲欧美日韩在线不卡| 成人av在线播放网站| 日韩三级精品电影久久久| 一区二区三区国产| 国产成人在线视频网址| 日韩欧美的一区| 蜜臀精品久久久久久蜜臀| 91国偷自产一区二区开放时间| 久久免费偷拍视频| 免费观看在线色综合| 欧美日韩日本视频| 亚洲欧美福利一区二区| 成人久久18免费网站麻豆| 久久色在线视频| 国产米奇在线777精品观看|