解题思路:
本题使用贪心去解,如果走路比使用闪烁块就走路,如果闪烁快就直接用魔法
在最开始时,如果有魔法就先把魔法用到不能再用为止
用光魔法后开始比较走路与等待回魔+闪烁谁快
将两种状态同时运行,当某个时间点等待回魔+闪烁比走路要块的话就直接使用等待回魔+闪烁,而后继续同时运行知道时间耗尽或逃跑成功
注意事项:闪烁也是要时间的!
参考代码:
#includeusing namespace std; int main() { int m,s,t; cin>>m>>s>>t; int away=0; int time=0; while(m>=10)//直接使用闪烁 { m-=10; time++; away+=60; if(away>=s)//直接闪烁就可以逃离 { cout<<"Yes"<<endl<<time; return 0; } if(time==t)//直接闪烁都不能逃离 { cout<<"No"<<endl<<away; return 0; } } int magic=0;//闪烁移动的距离 int run=0;//跑步移动的距离 for(time++;time=10)//如果可以闪烁了就把闪烁移动的距离加上 { magic+=60; m-=10; } if(magic>run+(magic/60)*17&&time+(magic/60)=s) { cout<<"Yes"<<endl<<time; return 0; } if(time==t) { cout<<"No"<<endl<<away+run; return 0; } } return 0; }
0.0分
0 人评分
IP判断 (C++代码)浏览:679 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:1730 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:592 |
C二级辅导-公约公倍 (C语言代码)浏览:1511 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
【金明的预算方案】 (C++代码)浏览:843 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:673 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:601 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:584 |
字符逆序 (C语言代码)浏览:621 |