• 百度--度度熊回家


    一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。
    但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 
    输入描述:

    输入一个正整数N, N <= 50。 
    接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100
    输出描述:
    输出一个整数表示度度熊最少需要走的距离。
    输入例子:
    4
    1 4 -1 3
    输出例子:
    4

    这道题,就是除了第一个坐标点和最后一个坐标点之外,其余的点可以选择一个点忽略不走。那么就可以有N-2种走法。

    #include <iostream>
    #include <algorithm>
    #include "string.h"
    #include "stdio.h"
    #include <vector>
    #include<utility>
    #include "math.h"
    #include <set>
    using namespace std;
    
    int main()
    {
        int n;
        cin>>n;
    
        int min_dis=-1;
        vector<int> arr;
        for(int i=0;i<n;i++)
        {
            int m;
            cin>>m;
            arr.push_back(m);
        }
    
        for(int i=1;i<n-1;i++)
        {
            int a=0;
            int j=1;
            int distance=0;
            for(;j<n;j++)
            {
                //这里的意思就是,arr[i]为这N-2中的要被剔除的点,如果arr[j]==arr[i],则跳过。
                if(j==i)
                {
                    continue;
                }
                distance+=abs(arr[j]-arr[a]);
                a=j;
                cout<<distance<<endl;
            }
            if(min_dis == -1)
            {
                min_dis = distance;
            }
            else if(distance<min_dis)
                min_dis = distance;
    
        }
        cout<<min_dis<<endl;
        return 0;
    }
  • 相关阅读:
    mysql中中文乱码问题
    jdbc操作数据库
    PreparedStatement解决sql注入问题
    向mysql数据库中插入大二进制文件和大文本
    Statement及PreparedStatement执行多个sql
    自定义EL函数
    自定义标签
    dom4j操作xml对象
    mysql中中文乱码问题
    jdbc操作数据库
  • 原文地址:https://www.cnblogs.com/omelet/p/6798399.html
Copyright © 2020-2023  润新知