zoukankan      html  css  js  c++  java
  • 1432: [ZJOI2009]Function

    1432: [ZJOI2009]Function

    Time Limit: 5 Sec  Memory Limit: 64 MB
    Submit: 710  Solved: 528
    [Submit][Status][Discuss]

    Description

    Input

    一行两个整数n; k。

    Output

    一行一个整数,表示n 个函数第k 层最少能由多少段组成。

    Sample Input

    1 1

    Sample Output

    1

    HINT

    对于100% 的数据满足1 ≤ k ≤ n ≤ 100。

    Source

    题解:一道神奇的规律题(HansBug:感觉JSOI2015 Round2 Day1 T1都没这个题目神orz)

    题解直接饮用吧,源链接在此,鸣谢BLADEVIL神犇么么哒

    我们可以发现所有的情况(除n=1时),都可以找到两个交叉的直线,就是第一层的那

    两个线段所在的直线如图中左

    那么我们以这个为准,两边对称着加直线,会得到右图,每一层是折线,且每

    加一对儿就多两条线段,一共要加k对儿,所以答案是2*k,由于图是对称的,就是

    这张图从上往下看和从下网上看是对称的,所以上面第k个是下面第n-k+1个,所以

    比较下这两个大小,k取min然后输出2*k就行了

     1 /**************************************************************
     2     Problem: 1432
     3     User: HansBug
     4     Language: Pascal
     5     Result: Accepted
     6     Time:0 ms
     7     Memory:220 kb
     8 ****************************************************************/
     9  
    10 var
    11    m,n:longint;
    12 begin
    13      readln(n,m);
    14      case n of
    15           1:writeln(1);
    16           else if (n+1)<(m*2) then writeln((n-m+1)*2) else writeln(2*m);
    17      end;
    18 end.
  • 相关阅读:
    词法分析程序
    0909关于编译原理
    深度学习中图像检测的评价标准
    【 记忆网络 1 】 Memory Network
    ssm又乱码
    百度地图标注没了
    Fragment与Activity交互(使用Handler)
    在android里用ExpandableListView实现二层和三层列表
    java中outer的使用
    android中使用Http下载文件并保存到本地SD卡
  • 原文地址:https://www.cnblogs.com/HansBug/p/4474913.html
Copyright © 2011-2022 走看看