做问卷调查用哪个网站,栖霞酒店网站设计价格,网站经营模式,三端互通的传奇手游发布网资源限制
内存限制#xff1a;256.0MB C/C时间限制#xff1a;1.0s Java时间限制#xff1a;3.0s Python时间限制#xff1a;5.0s
问题描述 有n辆自行车依次来到停车棚#xff0c;除了第一辆自行车外#xff0c;每辆自行车都会恰好停放在已经在停车棚里的某辆自行…资源限制
内存限制256.0MB C/C时间限制1.0s Java时间限制3.0s Python时间限制5.0s
问题描述 有n辆自行车依次来到停车棚除了第一辆自行车外每辆自行车都会恰好停放在已经在停车棚里的某辆自行车的左边或右边。(e.g.停车棚里已经有3辆自行车从左到右编号为3,5,1。现在编号为2的第4辆自行车要停在5号自行车的左边所以现在停车棚里的自行车编号是3,2,5,1)。给定n辆自行车的停放情况按顺序输出最后停车棚里的自行车编号。
输入格式 第一行一个整数n。 第二行一个整数x。表示第一辆自行车的编号。 以下n-1行每行3个整数x,y,z。 z0时表示编号为x的自行车恰停放在编号为y的自行车的左边 z1时表示编号为x的自行车恰停放在编号为y的自行车的右边
输出格式 从左到右输出停车棚里的自行车编号
样例输入
4 3 1 3 1 2 1 0 5 2 1
样例输出
3 2 5 1
数据规模和约定 n100000 自行车编号为不超过100000的正整数。
vector数组实现
#includeiostream
#includealgorithm
#includevector
using namespace std;
int n,x;
vectorint L;
int main(){cinnx;L.push_back(x);vectorint::iterator it;for(int i1;in;i){int x,y,z;cinxyz;itfind(L.begin(),L.end(),y);if(z0){L.insert(it,1,x);}else if(z1){L.insert(it1,1,x);}}for(int i0;iL.size();i){coutL[i] ;}return 0;
} 链表实现但是运行超时
#includeiostream
using namespace std;typedef struct node{int data;struct node *next;
}node,*linklist;
//找到 y结点
node *find(linklist L,int y){node *pL-next;while(p-data!yp){pp-next;}return p;
}
int main(){linklist Lnew node;L-nextNULL;int n;cinn;int x;cinx;node *snew node;s-datax;s-nextNULL;L-nexts;int cntn-1;while(cnt--){int x,y,z;cinxyz;if(z0){//在左边 node *pfind(L,y);//先后插再交换数据域node *snew node;s-datax;s-nextp-next;p-nexts;int t;ts-data;s-datap-data;p-datat; }else if(z1){//x在y的右边 node *pfind(L,y);//后插node *snew node;s-datax;s-nextp-next;p-nexts;}} node *pL-next;while(p){coutp-data ;pp-next;}coutendl;return 0;
}