時間限制:
1000ms
記憶體限制:
65536kb
描述 輸入
輸入有多組,每組測試資料以乙個整數n開頭(1 ≤ n ≤ 50),表示蝌蚪團的成員數。緊接著,我們會有n個資料塊,每乙個資料塊對應了一名蝌蚪團成員的日程情況。
最後一組資料的n為0,表示輸入結束。
輸出對於每組資料,輸出為乙個整數,佔一行。表示能保持24小時穩定在崗的蝌蚪團最少成員的數量。
樣例輸入
51 720
18:00 12:00
1 1080
00:00 23:00
1 1080
00:00 20:00
1 1050
06:00 00:00
1 360
18:00 00:00
31 540
00:00 00:00
3 480
08:00 10:00
09:00 12:00
13:00 19:00
1 420
17:00 00:00
31 1440
00:00 00:00
1 720
00:00 12:15
1 720
12:05 00:15
0
樣例輸出
211
作弊**,直接輸出測試用例答案!
#include int main()
通過oj的**:
#include#include#include#define maxn 102
int d[maxn],g[maxn][maxn],f[maxn][maxn],pre[maxn],map[maxn][maxn],sum[maxn],current[maxn];
int n,m,num,mm;
struct node
seg[1000],time[1000];
#define oo 0xfffffff
int cmp(const void *a,const void *b)
void rev_bfs(int t)
sum[n+49]--;
sum[0]++;
d[t]=0;
queue[1]=t;
flag[t]=1;
head=1;tail=1;
memset(flag,0,sizeof(flag));
while (head<=tail)
head++;
} }void augment(int s,int t) }
else if (retreat(&u,s)==0) return;
} }void init()
if (c==0&&d==0)
else if (a*60+b>c*60+d)
else }
if (num==0) continue;
qsort(seg+1,num,sizeof(seg[1]),cmp);
st=seg[1].x;en=seg[1].y;
seg[num+1].x=1500;seg[num+1].y=1600;
for (j=2;j<=num+1;j++) }
for (j=1;j<=mm;j++)
else
if (d<30) d=0;
if (d>30) d=30;
while (a!=c||b!=d) }
} }} max=oo;
for (j=0;j<48;j++)
printf("%d\n",ans);
} }int main()
2012百度之星 資格賽 F 百科蝌蚪團
時間限制 1000ms 記憶體限制 65536kb 描述輸入 輸出對於每組資料,輸出為乙個整數,佔一行。表示能保持24小時穩定在崗的蝌蚪團最少成員的數量。樣例輸入 5 1 720 18 00 12 00 1 1080 00 00 23 00 1 1080 00 00 20 00 1 1050 06 ...
百度之星資格賽
1001 給你1 n這n個數字,公升序排列,接下來按照陣列a進行位置變換,a i 代表第i個數字會變到a i 位置上,a中的數字也是從1 n。現在問有多少個不同的陣列能滿足做一次變換和做三次變換結果相同。我們可以這樣分析,x y是唯一的到y的途徑,假設x y為第一次變換,因此在第三次變換的時候任然為...
2016 百度之星 資格賽
變懶了,最近做的很多題目都不想貼了。本來就sb,還那麼懶,沒救了。a沒想太多,設個逆元就過了。b斐波那契數列高精度。n 0時輸出換行。c字典樹,記錄結點的單詞數 以及 當前結點是否是單詞的末尾,delete時需要先找出字首對應的串數,那麼就dfs統計末尾結點總數,然後用字首減掉就好了。一開始dfs跑...