国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

BIT2011年上機第三題

2019-11-06 06:49:16
字體:
來源:轉載
供稿:網友

題目要求

解題思路

 剛開始我以為這道題很簡單,只需要更具層次就可以找到領導關系,后來才意識到一個層次可能有多個人。

所以一定要找到它的直接領導,而直接領導又是離自己最近的上一層的一個人,所以可以根據這個思路來找到領導,

實際上有點取巧的性質,但是學以致用,能用方為王道,嘻嘻~~~

代碼如下

#include<iostream>#include<string>using namespace std;struct Node{	string name;	int parent;//根節點 -1	int level; //結點的級別  根節點 -1};//按照規律找最近的父節點int search_parent(Node nodes[100],int level,int num){	for(int i=num-1;i>=0;i--){		if(nodes[i].level==level-1){			return i;		}	}	return 0;}int main(){	string str;	string name;	Node nodes[100];	cout<<"輸入字符串:"<<endl;	cin>>str;	cout<<"輸入名稱:"<<endl;	cin>>name;	string s; 	int p=0;//級別	int num = 0;	for(int i=0;i<str.length();i++){		if(str[i]!='('&&str[i]!=')'&&str[i]!=','){			s="";			while(str[i]>='a'&&str[i]<='z') s+=str[i++];			i--;			Node node;			node.name=s;			node.level = p;			if(p==1){				node.parent=-1;			}else{				node.parent = search_parent(nodes,p,num);				}			nodes[num]=node;			num++;		}else{			if(str[i]=='('){				p++;			}			if(str[i]==')'){				p--;			}			if(str[i]==','){								}		}	}	for(i=0;i<num;i++){		cout<<i<<" "<<nodes[i].name<<" "<<nodes[i].level<<" "<<nodes[i].parent<<endl;	}		string rstr=name;	int rnum=0;	for(i=0;i<num;i++){		if(name==nodes[i].name){			rnum=nodes[i].parent;		}	}	while(nodes[rnum].parent!=-1){		if(nodes[rnum].name!=name){				rstr = nodes[rnum].name+"<-"+rstr;		}		rnum = nodes[rnum].parent;	}	rstr = nodes[rnum].name+"<-"+rstr;	cout<<rstr<<endl;	return 0;}


上一篇:mysql常用的sql語句

下一篇:Rx入門

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合川市| 古蔺县| 北流市| 称多县| 托克托县| 淳化县| 津南区| 黄浦区| 长丰县| 潜江市| 镇坪县| 长沙县| 南涧| 洮南市| 图木舒克市| 东城区| 波密县| 桃江县| 黑龙江省| 建平县| 临武县| 丰原市| 连云港市| 长宁县| 台安县| 鲁山县| 会东县| 如皋市| 随州市| 巩义市| 卫辉市| 兴城市| 怀柔区| 花莲市| 嘉鱼县| 响水县| 靖远县| 陆良县| 怀来县| 屯门区| 舟曲县|