政府網(wǎng)站建設運維情況自查沈陽seo關鍵詞排名優(yōu)化軟件
問題描述
有n輛自行車依次來到停車棚,除了第一輛自行車外,每輛自行車都會恰好停放在已經(jīng)在停車棚里的某輛自行車的左邊或右邊。(e.g.停車棚里已經(jīng)有3輛自行車,從左到右編號為:3,5,1。現(xiàn)在編號為2的第4輛自行車要停在5號自行車的左邊,所以現(xiàn)在停車棚里的自行車編號是:3,2,5,1)。給定n輛自行車的停放情況,按順序輸出最后停車棚里的自行車編號。
輸入格式
第一行一個整數(shù)n。
第二行一個整數(shù)x。表示第一輛自行車的編號。
以下n-1行,每行3個整數(shù)x,y,z。
z=0時,表示編號為x的自行車恰停放在編號為y的自行車的左邊
z=1時,表示編號為x的自行車恰停放在編號為y的自行車的右邊
輸出格式
從左到右輸出停車棚里的自行車編號
樣例輸入
4
3
1 3 1
2 1 0
5 2 1
樣例輸出
3 2 5 1
數(shù)據(jù)規(guī)模和約定
n<=100000
自行車編號為不超過100000的正整數(shù)。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;int n, x;
vector<int> cars;int main() {cin >> n >> x;cars.push_back(x);vector<int>::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;
}
總結(jié):
一開始想的是數(shù)組,每次輸入就遍歷然后插入
但是最后那個測試點超時了
然后用vector來,直接找到要插入的點的位置,然后插入
最后輸出的時候,一開始用的遍歷器去輸出,最后超時了
然后改用int來遍歷,才極限通過
剛好CPU限時1s?