松雅的自動門問題

2021-09-28 20:43:25 字數 1120 閱讀 9135

松雅的旅館門口有乙個自動門,按照以下方式工作:
當門是關閉的時候,1或多個人來到門前,門將馬上自動開啟,所有人都能馬上入內;

當門是開啟的時候,1或多個人來到門前,所有人都能馬上入內;

開啟的門在開啟後的 d 秒鐘內立即關閉;

當門正在關閉時,1或多個人在同一時刻來到門前,所有人有足夠時間入內,之後才會關閉

例如,如果 d=3,有4人在4個不同時刻t1=4、t2=7、t3=9 和 t4=13 來到門前,門將會開啟3次,即在時刻4、9和13開啟,在時刻7和12關閉。

已知有 n 個員工將在 a、2*a、3*a、...、n*a( a 是乙個正整數)時刻進入,同時在 t1、t2、...、tm 時刻有 m 個客人進入。

程式設計求出自動門開啟的次數,假定開始時門是關閉的。

【輸入形式】

第一行4個正整數 n、m、a、d,分別表示員工數、客人數、第乙個雇員進入的時刻、門開啟後到關閉的時間長度。

第二行包括乙個正整數序列 t1、t2、...、tm,表示 m 個客人來到門前的時刻,這是乙個非遞減序列。

【輸出形式】

輸出門開啟的次數

**如下:

#include

using

namespace std;

intmain()

//kt為第s個員工到達門時的時間,mt為第i個顧客到達門時的時間

int c=

0,s=

1,i=

0,t=

0,kt,mt=k[0]

;//定義門開次數c,通過門的員工數s,通過門的顧客書i,由於以陣列記錄,故i從0計數

while

(s<=n||i//當員工或者顧客沒有全部通過門時,條件成立。

while

(kt<=t)

// 在門開啟的時間內,看是否有員工剛好經過}if

(mt==t)

// 如果時間==mt,則門開

while

(kt<=t)}}

//當所有客人和員工都經過門時,迴圈結束,輸出門開啟的次數c

cout<}

松雅的自動門

問題描述 松雅的旅館門口有乙個自動門,按照以下方式工作 當門是關閉的時候,1或多個人來到門前,門將馬上自動開啟,所有人都能馬上入內 當門是開啟的時候,1或多個人來到門前,所有人都能馬上入內 開啟的門在開啟後的 d 秒鐘內立即關閉 當門正在關閉時,1或多個人在同一時刻來到門前,所有人有足夠時間入內,之...

松雅旅店的自動門

問題描述 松雅的旅館門口有乙個自動門,按照以下方式工作 1.當門是關閉的時候,1或多個人來到門前,門將馬上自動開啟,所有人都能馬上入內 2.當門是開啟的時候,1或多個人來到門前,所有人都能馬上入內 開啟的門在開啟後的 d 秒鐘內立即關閉 3.當門正在關閉時,1或多個人在同一時刻來到門前,所有人有足夠...

松雅的旅館

問題描述 松雅認為,擁有自己的旅館是賺錢的最好方式,因為她可以在任何她想要的地方賺錢和休閒。松雅生活的國度是乙個無盡頭的線狀型,在這條直線的每個整數座標上有一座城市。她有n個旅館,第i個旅館位於具有座標xi的城市。松雅是位聰明的女孩,她不會在同一城市開設兩家或多家旅館。松雅想拓展業務,因此,她決定開...