鯊魚巨巨2.0(以下簡稱小鯊魚)以優異的成績考入了51nod小學。並依靠演算法方面的特長,在班裡擔任了許多職務。
每乙個職務都有乙個起始時間a和結束時間b,意為小鯊魚在[a, b]時間內,擔任了某職務(inclusively)。
現在給定小鯊魚的職務履歷表,你可以高效的給出小鯊魚在某天擔任了哪些職務嗎?
p.s. 由於小鯊魚擔任的職務太多,所有任期小於乙個自然月的職務都忽略不計。(如1月1日~2月1日為乙個自然月,即月份加1)
p.p.s. 輸入資料保證小鯊魚同時不擔任超過200種職務。(牛!)
p.p.p.s 輸入的日期均為合法日期,範圍在2023年01月01日~2023年12月31日。
p.p.p.p.s巨大的輸入輸出,推薦使用scanf/printf,編譯器推薦使用virtual c++
input
第一行為乙個整數n,代表小鯊魚擔任過n種職務。(1 <= n <= 10^5)output接下來的n行,每一行為七個整數,y0, m0, d0, y1, m1, d1, x。意為在到時間內,小鯊魚擔任了職務x。(1 <= x <= 10^9)
給定的時間皆合法,且起始日期小於或等於截止日期。職務x是唯一的。
接下來是乙個整數q,代表q次查詢。(1 <= q <= 10^4)
接下來的q行,每一行為三個整數,代表查詢的日期。時間皆合法。
每一次查詢輸出一行結果。input示例首先輸出乙個整數n,代表此時小鯊魚擔任的職務數。(n可以為0)
接下來是n個整數,代表小鯊魚擔任的職務。職務列表保持公升序。
4output示例2000 01 01 2000 01 01 111
2000 01 02 2001 02 02 222
2000 01 28 2000 02 29 333
2000 01 29 2000 02 28 444
42000 01 01
2000 01 02
2000 01 28
2000 02 29
01 222
2 222 333
2 222 333
#include #include #include #include #include using namespace std;
struct job
};int n;
int y0, m0, d0, y1, m1, d1, x;
int q;
int y, m, d;
vectorjobs;
bool jobcmp(const job &a, const job &b)
int main()
else
}} sort(jobs.begin(), jobs.end(), jobcmp);
scanf("%d", &q);
for (int i = 0; i < q; i++)
if (date >= jobs[j].start && date <= jobs[j].end)
}sort(buf.begin(), buf.end());
printf("%d", buf.size());
for (int k = 0; k < buf.size(); k++)
printf("\n");
} return 0;
}
nod 1631 小鯊魚在51nod小學
鯊魚巨巨2.0 以下簡稱小鯊魚 以優異的成績考入了51nod小學。並依靠演算法方面的特長,在班裡擔任了許多職務。每乙個職務都有乙個起始時間a和結束時間b,意為小鯊魚在 a,b 時間內,擔任了某職務 inclusively 現在給定小鯊魚的職務履歷表,你可以高效的給出小鯊魚在某天擔任了哪些職務嗎?p....
51nod 貪心入門
有若干個活動,第i個開始時間和結束時間是 si,fi 活動之間不能交疊,要把活動都安排完,至少需要幾個教室?分析 能否按照之一問題的解法,每個教室安排盡可能多的活動,即按結束時間排序,再貪心選擇不衝突的活動,安排乙個教室之後,剩餘的活動再分配乙個教室,繼續貪心選擇 反例 a 1,2 b 1,4 c ...
51nod 迷宮問題
1459 迷宮遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的...