A1046——入门模拟 Shortest Distance

Posted jasonpeng1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A1046——入门模拟 Shortest Distance相关的知识,希望对你有一定的参考价值。

2019-12-15

15:25:34

技术图片

 

 

技术图片

 

#include <bits/stdc++.h>
#include<math.h>
using namespace std;
const int MAXN = 100005;
int main(){
    int N;
    cin>>N;
    int temp[N+1];
    for(int i=0;i<N+1;++i){
        temp[i] =  0;
    }
    for(int i = 1;i<N+1;++i){
        cin>>temp[i];
    }
    int K = 0;
    cin>>K;
    int result[K];
    for(int i =0;i<K;++i){
        result[i] = 0;
    }
    for(int i=0;i<K;++i){
        int temp1 = 0,temp2 = 0;
        cin>>temp1;
        cin>>temp2;
        int tempt = abs(temp1-temp2);//求差值 
        int tempt1 = N-tempt;//求N-差值 
        int minmum = min(temp1,temp2);
        int result1 = 0;//正序结果 
        int t = minmum;
        for(int j=0;j<tempt;++j){
            //int t = minmum;
            result1 += temp[t];
            t++;
        }
        int result2 = 0;//逆序结果
        int p;//p存放较大的数 
        if(minmum==temp1){
            p = temp2;
        }
        if(minmum == temp2){
            p = temp1;
        }
        int s = p;
        for(int l=0;l<tempt1;++l){
            if(s>N){
                s = 1;
            }
            result2 += temp[s];
            s++;
        }
        result[i] = min(result1,result2);
        
    }
    for(int i=0;i<K;++i){
        cout<<result[i]<<endl;
    }
    system("pause");
    return 0;
} 

以上是关于A1046——入门模拟 Shortest Distance的主要内容,如果未能解决你的问题,请参考以下文章

1046 Shortest Distance (20 分)(简单模拟,前缀和)

Dijkstra’s Shortest Path Algorithm / LeetCode 787. Cheapest Flights Within K Stops

ACM入门之最短路

ACM入门之最小生成树

多旅行商问题matlab程序

934. Shortest Bridge