標題:
202404新手1-電影院
[打印本頁]
作者:
may
時間:
2024-10-31 16:11
標題:
202404新手1-電影院
[attach]20105[/attach]
電影院 (Cinema)
問題敘述
你突然想看場電影,於是你上網查了一下附近電影院的電影時刻表。你不想等太久,所以決定找一部最早開始放映的電影來看。不過考慮到你還需要抵達電影院並買票和爆米花,你需要預留至少20分鐘的時間(從現在開始算起)。
請撰寫一個程式,給定現在的時間和一系列電影開始的時間(電影時刻已經排序),找出你最早可以觀看的電影時刻。電影時刻以24小時制表示。
[attach]20102[/attach]
[attach]20103[/attach]
[attach]20104[/attach]
作者:
may
時間:
5 天前 20:34
回復
1#
may
c++中setw()與setfill()的用法
setw()預設填入的內容為空格,可以setfill()配合使用設定其他字元填入。
如:
cout<<setfill('*')<<setw(5)<<'a'<<endl;
則輸出:
****a //4個*和字元a共佔5個位置。
所謂域寬,就是輸出的內容(數值或字元等等)需要佔據多少個字元的位置,如果位置有剩餘則會自動補足。例如我們要設定域寬為2,那麼當輸出一位數1的時候輸出的就是“ 1”,也就是在1前面加了一個空格。空格和數字1正好總共佔用了兩個字元的位置。
我們在設定域寬和填充字元的時候要注意幾點:
①設定域寬的時候應該填入整數,設定填充字元的時候應該填入字元。
②我們可以對一個要輸出的內容同時設定域寬和填充字符,但是設定好的屬性僅對下一個輸出的內容有效,之後的輸出要再次設定。即cout <<setw(2) <<a <<b;語句中域寬設定只對a有效,對b無效。。
原文链接:
https://blog.csdn.net/chen_zan_yu_/article/details/86663579
作者:
may
時間:
5 天前 20:40
#include<bits/stdc++.h>
using namespace std;
// 定義電影開始時間的結構
struct MovieTime {
int hour, minute;
};
// 轉換時間為分鐘
int toMinutes(int hour, int minute) {
return hour * 60 + minute;
}
int main() {
int N; // 電影數量
vector<MovieTime> movieTimes; // 電影時刻表
// 讀取電影數量
cin >> N;
// 讀取電影開始時間
for (int i = 0; i < N; ++i) {
int movieHour, movieMinute;
cin >> movieHour >> movieMinute;
movieTimes.push_back({movieHour, movieMinute});
}
// 讀取當前時間和電影數量
int currentHour, currentMinute;
cin >> currentHour >> currentMinute;
// 將當前時間轉換為分鐘
int currentTimeInMinutes = toMinutes(currentHour, currentMinute);
// 尋找最早可以觀看的電影時刻
for (auto movieTime : movieTimes) {
int movieTimeInMinutes = toMinutes(movieTime.hour, movieTime.minute);
// 需要至少15分鐘的準備時間
if (movieTimeInMinutes - currentTimeInMinutes >= 20) {
cout << movieTime.hour << " " << movieTime.minute << endl;
return 0;
}
}
cout << "Too Late" << endl; // 找不到合適的電影時刻
return 0;
}
/*
3
14 50
15 05
16 00
14 30
輸出
14 50
*/
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2