`
wsql
  • 浏览: 11786410 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Zju 2656 Travel Around Country解题报告

 
阅读更多
//本题属于模拟题,题意的理解很重要,选个出发点能绕所有城市一圈回到出发点。
//实际就是看油够不够。若把所有油与所有路长直接加要出错,应该是数据超范围的缘故。
//改正这个错想了好久,几乎要放弃了。细心很重要。信心也很重要。
//另外cin要超时。
#include<iostream>
#include
<vector>
usingnamespacestd;

structCar
...{
intoil,dist;
}
;

boolcheck(Cara)
...{
returna.oil>=a.dist;
}


boolrun()
...{
inti,n;
if(scanf("%d",&n)==EOF)returnfalse;
vector
<Car>car(n);

for(i=0;i<n;i++)scanf("%d%d",&car[i].oil,&car[i].dist);

for(i=0;i<n;i++)
...{
if(check(car[i])==false)continue;
intj=i,oil=car[i].oil-car[i].dist;
while(true)
...{
j
=(j+1)%n;
if(i==j)
...{
printf(
"%d ",i);
returntrue;
}

oil
+=car[j].oil-car[j].dist;
if(oil<0)break;
}

}


if(i==n)printf("impossible ");
returntrue;
}


intmain()
...{
while(run());
return0;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics