网站建设有模板吗,可以做照片书的网站,免费ppt模板在哪里下载,网站开发 先做前端吗问题描述 有n辆自行车依次来到停车棚#xff0c;除了第一辆自行车外#xff0c;每辆自行车都会恰好停放在已经在停车棚里的某辆自行车的左边或右边。(e.g.停车棚里已经有3辆自行车#xff0c;从左到右编号为#xff1a;3,5,1。现在编号为2的第4辆自行车要停在5号自行车的左…问题描述 有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的正整数。
#includeiostream
#includevector
#includealgorithm
using namespace std;int n, x;
vectorint cars;int main() {cin n x;cars.push_back(x);vectorint::iterator it;for (int i 0; i n - 1; i ) {int x, y, z;cin x y z;it find(cars.begin(), cars.end(), y);if (z 0) {cars.insert(it, 1, x);} else {cars.insert(it 1, 1, x);}}for (int i 0; i cars.size(); i ) {cout cars[i] ;}return 0;
}
总结
一开始想的是数组每次输入就遍历然后插入
但是最后那个测试点超时了
然后用vector来直接找到要插入的点的位置然后插入
最后输出的时候一开始用的遍历器去输出最后超时了
然后改用int来遍历才极限通过 刚好CPU限时1s