题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 失误原因(初次提交分数) |
---|---|---|---|---|---|
Preparing Problem | ★☆☆☆☆ | 答案正确 | 100 | 2015-2-21 22:47:52 | t1,t2写错(2) |
(AC 538)
两个人共需要完成n份任务,完成一份任务各需要时间,两人同时做。完成一个任务时,若任务总数尚未到达n则继续做(即使做这份任务过程中对方完成了n份,也不会被打断)。问最终完成任务停止时,完成的任务数和用时。
工作A.0---1---2---3---4---5---6---7--- 工作B.0----------1----------2---------- 任务T.0---1---2--34---5---6-7-8---9---
551.cpp代码已折叠
展开折叠内容
|
---|
#include<cstdio> #include<string> #include<iostream> #include<algorithm> using namespace std; #define si(n) scanf("%d",&n) #define ci const int & #define dsi(n) int n;si(n) #define f(i,n) for(int i=1;i<=n;++i) #define fi(i,p,n) for(int i=p;i<=n;++i) #define fd(i,n) for(int i=n;i!=0;--i) #define fdi(i,p,n) for(int i=n;i>=p;--i) int main() { dsi(n);dsi(t1);dsi(t2); int i1=0,i2=0; while(1) { if(i1/t1+i2/t2>=n)//fixed:t1,t2// if(i1==i2) { cout<<n<<" "<<i1; return 0; } else if(i1<i2) { cout<<n+1<<" "<<i1+t1; return 0; } else { cout<<n+1<<" "<<i2+t2; return 0; } if(i1+t1<i2+t2) i1+=t1; else i2+=t2; } return 0; } |