鯊魚巨巨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
開始還考慮一下二分,發現直接暴力就ok了,這裡排了下序,稍微優化了一下;
主要是判斷自然月有點繞,如果年份不同肯定可以,如果年份相同,月份差一,那麼天只要前小於等於後者就行;否則月份差2以上也是自然月;
#include#include#include#includeusing namespace std;
typedef struct date
s = y0*10000+m0*100+d0;
e = y1*10000+m1*100+d1;
w = r;
}}date;
vectordates;
bool cmp(const date &a, const date &b)
//int b_search(int v, int n)
////}
//date d[100005];
int main()
}sort(dates.begin(),dates.end(),cmp);
scanf("%d", &q);
int y,m,d;
for (int i= 0; i < q; ++ i)
if (v >= dates[j].s && v <= dates[j].e)
}sort(res.begin(),res.end());
if (res.size() == 0)
else
printf("\n");}}
return 0;
}
小鯊魚在51nod小學
鯊魚巨巨2.0 以下簡稱小鯊魚 以優異的成績考入了51nod小學。並依靠演算法方面的特長,在班裡擔任了許多職務。每乙個職務都有乙個起始時間a和結束時間b,意為小鯊魚在 a,b 時間內,擔任了某職務 inclusively 現在給定小鯊魚的職務履歷表,你可以高效的給出小鯊魚在某天擔任了哪些職務嗎?p....
51nod 歡樂手速場C 開心的小Q
開心的小q tangjz 命題人 quailty 測試 基準時間限制 1 秒 空間限制 131072 kb 分值 80 如果乙個數字存在乙個約數是完全平方數,那麼小q就認為這個數是有趣的。小q喜歡收集有趣的數字,每找到乙個有趣的數,小q就會變得很開心。小q發現12是有趣的,18也是有趣的,它們都是3...
51nod小c的多邊形(找規律(構造))
小c的多邊形 命題人 基準時間限制 1 秒 空間限制 131072 kb 分值 40 小c偶然發現了乙個奇妙的n個點的多邊形。現在你需要給外圈的邊標記上1 n 1,裡圈的邊也標記上1 n 1,使得對於乙個外圈相鄰點與中間點構成的三角形的邊權之和都相等。圖中帶三角形的三個點構成的三角形的邊權都要相等。...