網易程式設計題 牛牛的鬧鐘

2021-08-19 21:24:56 字數 3005 閱讀 1915

問題描述:

牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要x分鐘到達教室,上課時間為當天的a時b分,請問他最晚可以什麼時間起床

輸入描述:

每個輸入包含乙個測試用例。

每個測試用例的第一行包含乙個正整數,表示鬧鐘的數量n(n<=100)。

接下來的n行每行包含兩個整數,表示這個鬧鐘響起的時間為hi(0<=a<24)時mi(0<=b<60)分。

接下來的一行包含乙個整數,表示從起床算起他需要x(0<=x<=100)分鐘到達教室。

接下來的一行包含兩個整數,表示上課時間為a(0<=a<24)時b(0<=b<60)分。

資料保證至少有乙個鬧鐘可以讓牛牛及時到達教室。

解題思路

第一步:將小時化為分鐘,新增到陣列裡,

第二步:遍歷陣列 , 遍歷的同時分為以下幾步 :

1.判斷當前時間會不會遲到 也就是 所剩時間 = (到校時間-路程-鬧鐘)如果小於0肯定遲到了

2.如果大於零,我們找所剩時間最小的(可以等於0) 把 i 的位置賦值給min a[min]就是最遲的鬧鐘了

3.分鐘/60所得的就是小時 分鐘%60所得的就是剩下的分鐘;

**:

#include//萬能標頭檔案#include包含了目前c++所包含的所有標頭檔案!!!!

using

namespace

std;

struct time //c++結構體。c++結構體可以包含函式,c語言不可以

//自定義建構函式,帶引數的建構函式

};int main()

cin >> x;

cin >> dead_line.h>>dead_line.m;

for(int j=n-1; j>=0; j--)

}

} cout

<" "

0;

}

1.類的建構函式

類的建構函式是類的一種特殊的成員函式,它會在每次建立類的新物件時執行。

建構函式的名稱與類的名稱是完全相同的,並且不會返回任何型別,也不會返回 void。建構函式可用於為某些成員變數設定初始值。

下面的例項有助於更好地理解建構函式的概念:

#include 

using

namespace

std;

class line

;// 成員函式定義,包括建構函式

line::line(void)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

當上面的**被編譯和執行時,它會產生下列結果:

object

is being created

length of line : 6

2.帶引數的建構函式

預設的建構函式沒有任何引數,但如果需要,建構函式也可以帶有引數。這樣在建立物件時就會給物件賦初始值,如下面的例子所示:

#include 

using

namespace

std;

class line

;// 成員函式定義,包括建構函式

line::line( double len)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

當上面的**被編譯和執行時,它會產生下列結果:

object is being created, length = 10

length of

line : 10

length of

line : 6

3.使用初始化列表來初始化字段

line::line( double len): length(len)

上面的語法等同於如下語法:

line::line( double len)

假設有乙個類 c,具有多個字段 x、y、z 等需要進行初始化,同理地,您可以使用上面的語法,只需要在不同的字段使用逗號進行分隔,如下所示:

c::c( double a, double b, double c): x(a), y(b), z(c)

4。類的析構函式

類的析構函式是類的一種特殊的成員函式,它會在每次刪除所建立的物件時執行。

析構函式的名稱與類的名稱是完全相同的,只是在前面加了個波浪號(~)作為字首,它不會返回任何值,也不能帶有任何引數。析構函式有助於在跳出程式(比如關閉檔案、釋放記憶體等)前釋放資源。

下面的例項有助於更好地理解析構函式的概念:

#include 

using

namespace

std;

class line

;// 成員函式定義,包括建構函式

line::line(void)

line::~line(void)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

當上面的**被編譯和執行時,它會產生下列結果:

object

is being created

length of line : 6

object

is being deleted

網易程式設計題 牛牛的鬧鐘

問題描述 a時b分上課,牛牛到教室要x分鐘,所以牛牛最晚什麼時候起床。思考 不用思考,簡單題最晚當然是 上課時間 從宿舍到教室花費的時間 include include include include using namespace std intmain intspend hour cin spe...

2019網易實習程式設計題 牛牛的鬧鐘

牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要x分鐘到達教室,上課時間為當天的a時b分,請問他最晚可以什麼時間起床 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示鬧鐘的數量n n 100 接下來的n行每行包含兩個整...

網易2019實習生招聘程式設計題(牛牛的鬧鐘)

題目 牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要x分鐘到達教室,上課時間為當天的a時b分,請問他最晚可以什麼時間起床 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示鬧鐘的數量n n 100 接下來的n行每行包含...