Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนชานชาลาขั้นต่ำที่จำเป็นสำหรับสถานีรถไฟที่ใช้ C++


คำชี้แจงปัญหา

เมื่อพิจารณาถึงเวลาเข้าและออกของรถไฟทุกขบวนที่ไปถึงสถานีรถไฟ ภารกิจคือการค้นหาจำนวนชานชาลาขั้นต่ำที่จำเป็นสำหรับสถานีรถไฟเพื่อไม่ให้รถไฟรอนาน

เราได้รับ 2 แถวที่แสดงเวลามาถึงและออกของรถไฟที่จอด

สำหรับข้อมูลด้านล่าง เราต้องการอย่างน้อย 3 แพลตฟอร์ม -

รถไฟ เวลาที่มาถึง เวลาออกเดินทาง
Train-1 09:00 09:15
Train-2 09:35 11:45
รถไฟ-3 09:40 11:05
Train-4 11:00 12:00
Train-5 14:30 18:15
Train-6 18:00 19:00

อัลกอริทึม

<ก่อน>1. เรียงลำดับเวลาขาเข้าและขาออกตามลำดับจากน้อยไปมาก2 ติดตามจำนวนรถไฟได้ตลอดเวลา ติดตามรถไฟที่มาถึงแต่ยังไม่ออก

ตัวอย่าง

#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) โดยใช้เนมสเปซ std;int getPlatformCount(int *arrival, int *departure, int n ){ sort(การมาถึง, การมาถึง + n); เรียงลำดับ(ออกเดินทาง, ออกเดินทาง + n); int platformCnt =1; ผลลัพธ์ int =1; int ผม =1; int j =0; ในขณะที่ (i  ผลลัพธ์) { ผลลัพธ์ =platformCnt; } } อื่น { --platformCnt; ++เจ; } } ส่งคืนผลลัพธ์;}int main(){ int arrival[] ={900, 935, 940, 1100, 1430, 1800}; ออกเดินทางภายใน[] ={915, 1145, 1105, 1200, 1815, 1900}; cout <<"ขั้นต่ำที่จำเป็นแพลตฟอร์ม =" < 

ผลลัพธ์

เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ต่อไปนี้ -

แพลตฟอร์มที่ต้องการขั้นต่ำ =3