牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要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:
3輸出例子1:5 0
6 0
7 0
59 6 59
6 0將鬧鐘按時間排序即可,然後找踩點的那一鬧鐘即可,注意利用時間範圍的特殊性
#include #include #include using namespace std;
const int n = 110;
struct clock ;
bool compare(clock &a, clock &b)
int main()
else
clock c = ;
sort(clock, clock + n, compare);
//printf("%d %d\n", c.hi, c.mi);
for (int i = n - 1; i >= 0; i--)
} }
[程式設計題] 牛牛找工作
時間限制:2秒
空間限制:65536k
為了找到自己滿意的工作,牛牛收集了每種工作的難度和報酬。牛牛選工作的標準是在難度不超過自身能力值的情況下,牛牛選擇報酬最高的工作。在牛牛選定了自己的工作後,牛牛的小夥伴們來找牛牛幫忙選工作,牛牛依然使用自己的標準來幫助小夥伴們。牛牛的小夥伴太多了,於是他只好把這個任務交給了你。
輸入描述:
每個輸入包含乙個測試用例。輸出描述:每個測試用例的第一行包含兩個正整數,分別表示工作的數量n(n<=100000)和小夥伴的數量m(m<=100000)。
接下來的n行每行包含兩個正整數,分別表示該項工作的難度di(di<=1000000000)和報酬pi(pi<=1000000000)。
接下來的一行包含m個正整數,分別表示m個小夥伴的能力值ai(ai<=1000000000)。
保證不存在兩項工作的報酬相同。
對於每個小夥伴,在單獨的一行輸出乙個正整數表示他能得到的最高報酬。乙個工作可以被多個人選擇。輸入例子1:
3 3輸出例子1:1 100
10 1000
1000000000 1001
9 10 1000000000
100使用stl map先儲存難度和報酬, map底層是紅黑樹,會自動排序,同時將小夥伴的能力值也加入道map中,報酬先設為0。維護該紅黑樹為key為難度,報酬最大的。1000
1001
#include #include #include using namespace std;
const int n = 100010;
int main()
for (int i = 0; i < m; i++)
} int temp = 0;
for (auto iter = mp.begin(); iter != mp.end(); ++iter)
for (int i = 0; i < n; i++)
}
2019網易實習程式設計題 安置路燈
小q正在給一條長度為n的道路設計路燈安置方案。為了讓問題更簡單,小q把道路視為n個方格,需要照亮的地方用 表示,不需要照亮的障礙物格仔用 x 表示。小q現在要在道路上設定一些路燈,對於安置在pos位置的路燈,這盞路燈可以照亮pos 1,pos,pos 1這三個位置。小q希望能安置盡量少的路燈照亮所有...
2019網易筆試(1 3題)
目錄 1.代價 2.訪友 3.翻轉翻轉 你有3個需要完成的任務,完成這3個任務是需要付出代價的。首先,你可以不花任何代價的完成乙個任務 然後,在完成了第i個任務之後,你可以花費 ai aj 的代價完成第j個任務。x 代表x的絕對值。計算出完成所有任務的最小代價。輸入描述 一行3個整數a1,a2,a3...
2019網易實習程式設計題 牛牛找工作
為了找到自己滿意的工作,牛牛收集了每種工作的難度和報酬。牛牛選工作的標準是在難度不超過自身能力值的情況下,牛牛選擇報酬最高的工作。在牛牛選定了自己的工作後,牛牛的小夥伴們來找牛牛幫忙選工作,牛牛依然使用自己的標準來幫助小夥伴們。牛牛的小夥伴太多了,於是他只好把這個任務交給了你。輸入描述 每個輸入包含...