Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
大牛们帮忙看看代码把 谢了!!!!#include <cstdlib> #include <stdio.h> #include <deque> using std::deque; int main(int argc, char *argv[]) { int total; int a,b,c; int left[4]; char ch[10]; int table; int time,endtime; int person; while(scanf("%d%d%d",&a,&b,&c)) { if(a==0&&b==0&&c==0) break; deque<int> times[4]; total=0; left[1]=a; left[2]=b; left[3]=c; while(scanf("%s",ch)) { if(ch[0]=='#') break; scanf("%d",&person); time=((int(ch[0])-48)*10+int(ch[1])-48)*60+(int(ch[3])-48)*10+int(ch[4])-48; endtime=time+30; table=(person+1)/2; bool boo=1; if(left[table]>0) { total+=person; times[table].push_back(endtime); left[table]--; continue; } while(!times[table].empty()) { int tmp=times[table].front(); if(tmp<time) { left[table]++; times[table].pop_front(); if(boo) { total+=person; times[table].push_back(time+30); left[table]++; boo=0; } } else if(tmp>=time&&tmp<=time+30&&boo) { times[table].pop_front(); times[table].push_back(tmp+30); total+=person; boo=0; } else break; } } printf("%d\n",total); } return EXIT_SUCCESS; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator