zoukankan      html  css  js  c++  java
  • 545C. Woodcutters

    题目链接

    题意:

    n个树,在x1,x2,。。。,xn的位置,树的高度依次是h1,h2,。。。,hn

    求的是当把树砍倒时候,不占用相邻树的位置,最大砍树个数

    可向左 向右砍,即树向左向右倒,很显然 当树的棵树大于1的时候,一定至少可以砍倒两棵树,位于最左和最右的两棵树可以直接砍倒

    可以先考虑左砍树,再考虑右砍树

    满足左砍树时候,不用考虑右砍树。

    对xi 和 hi

    左砍树 树最左可到  xi – hi

    当 xi – hi> x[i-1] 时候左砍成立  x[i-1] 更新到x[i]

    右砍树 树最右可到 x[i] + h[i]

    当  x[i] + h[i] < x[i+1] 时候右砍成立  x[i] 更新到 x[i] + h[i]

    Java程序

    import java.util.Scanner;
    
    
    public class C545 {
        static void run(){
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int[] x= new int[n];
            int[] h=new int [n];
            for(int i=0;i<n;i++){
                x[i]=sc.nextInt();
                h[i]=sc.nextInt();
            }
            int count = 2;
            if(n==1){
                    System.out.println(1);
                    return;
                }
            for(int i=1;i<n-1;i++){
                int left = x[i] - h[i];
                int right = x[i] + h[i];
                if(left>x[i-1] || right<x[i+1]) count ++;
                if(left>x[i-1]) x[i-1] = x[i];
                else if(right< x[i+1]) x[i] = right;
            }
            System.out.println(count);
        }
        public static void main(String[] args){
            run();
        }
    }

    Python程序

    def C545():
        n = input()
        w = [map(int,raw_input().split()) for _ in xrange(n)]
        ans = 2
        if n <= 2:
            print n
            exit(0)
        for i in xrange(1,n-1):
            x,h = w[i] 
            if x - h > w[i-1][0]:
                ans += 1
            elif x + h < w[i+1][0]:
                w[i][0] += w[i][1]
                ans += 1
        print ans    
        
    if __name__=='__main__':
        C545()
  • 相关阅读:
    ajax 笔记--调用WebService实现求两数之和
    多数据之间的连接操作集中几个.NET常用的方法(不完整)
    判断用户是否存在(通过参数来实现)
    我的机子放到公司了
    给同事过生日,我弄菜,给同事买饭,我值班。
    多数据之间的连接操作MSSQL(不完整)
    TreeView连接数据
    字符编码
    计算机基础
    python入门
  • 原文地址:https://www.cnblogs.com/theskulls/p/4714363.html
Copyright © 2011-2022 走看看