zoukankan      html  css  js  c++  java
  • 【NOIP2007】守望者的逃离

    原题:

     

    这个马维一看就不会玩,闪现肯定直接抄近道,谁会老老实实按路线闪

    一眼看上去一道数学题,但是仔细观察可以发现可用的时间不多,只有3e5

    因此可以大力发扬暴力精神,直接枚举闪多少次或者聚多少秒

    如果枚举闪多少次,则还需要计算攒够闪这么多次的时间,比较繁琐

    枚举聚多少秒相对简单,但是需要注意,一开始的魔量可能很大以至于把时间闪完都用不完,需要特判

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 int n,m,o;
     5 int main(){
     6     cin>>n>>m>>o;
     7     int ans1=0,ans2=1000000007;
     8     for(int i=0;i+(n+i*4)/10<=o;++i){
     9         ans1=max(ans1,(n+i*4)/10*60+(o-i-(n+i*4)/10)*17);
    10         ans2=min(ans2,(((n+i*4)/10*60<=m ? m-(n+i*4)/10*60 : 0)+16)/17+i+(n+i*4)/10);
    11     }
    12     if(n/10>o){
    13         ans1=max(ans1,o*60);
    14         ans2=min(ans2,(m+59)/60);
    15     }
    16     if(ans2<=o)  printf("Yes
    %d
    ",ans2);
    17     else  printf("No
    %d
    ",ans1);
    18     return 0;
    19 }
    View Code
  • 相关阅读:
    第四周
    第二次作业
    jsp
    软件测试第一次
    增删改查
    用户添加
    登录
    购物商城
    jsp第七周作业
    jsp第六周作业
  • 原文地址:https://www.cnblogs.com/cdcq/p/12275565.html
Copyright © 2011-2022 走看看