您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

花生采摘(洛谷P1086题题解,Java描述)

星拱北辰 发布时间:2020-03-12 23:47:32 ,浏览量:0

题目要求

P1086题目链接 在这里插入图片描述在这里插入图片描述

分析

这个题是强行规定的贪心,就很简单啦。只需要排个序,逐一尝试即可。

每次都要试图跳到下一个格子,试一试过去消耗的距离加上从新位置到跳回路边的距离和会不会超出限制。

是这样的,如果当前点能跳回去,那跳回去的距离绝对小于等于尝试下一个点的距离。当且仅当下一个点在当前点直线返回出发位置的直线上时等号成立。

所以,策略就是,尽量尝试,行就继续,不行就回滚并结束。

为了防止地图大,在读的时候T掉,所以开BufferedReader。

AC代码(Java语言描述)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class Main {

    private static class Point {
        int x;
        int y;
        Integer value;
        Point(int x, int y, int value) {
            this.x = x;
            this.y = y;
            this.value = value;
        }
    }

    public static void main(String[] args) throws IOException {
        List list = new ArrayList();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String[] first_line = reader.readLine().split("\\s+");
        int m = Integer.parseInt(first_line[0]);
        int n = Integer.parseInt(first_line[1]);
        int time = Integer.parseInt(first_line[2]);
        for (int i = 1; i             
关注
打赏
1660750074
查看更多评论
0.0419s