1046 Shortest Distance(簡單模擬)
這類題目幾乎不需要資料結構,演算法基礎,主要通過簡單的邏輯流程和判斷實現。
題目描述如下:
題目大意:
給出N個節點組成一個環,並給出每兩個相鄰節點之間的距離。接下來給出M對節點,求每隊節點之間的最短距離。
大致思路:
用一個vector陣列來儲存相鄰節點之間的距離,寫一個求解最短距離的函式,每輸入一對節點,則呼叫該函式求出距離。
求距離的方法:根據下標從前後兩個方向累加距離,最後較短的距離即為所求。
提交結果如下:
提交程式碼如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int distance(int a, int b);
vector<int> dis_arr;
int sum = 0;
int main()
{
int n, m;
cin >> n;
for (int i = 0; i < n; i++)
{
int temp;
cin >> temp;
sum += temp;
dis_arr.push_back(temp);
}
cin >> m;
for (int i = 0; i < m; i++)
{
int a, b;
cin >> a >> b;
cout << distance(a-1, b-1) << endl;
}
}
int distance(int a, int b)
{
if (a > b)
{
swap(a, b);
}
int dis1 = 0,dis2=0;
for (int i = a; i < b; i++)
dis1 += dis_arr[i];
dis2 = sum - dis1;
if (dis1 < dis2)
return dis1;
else
return dis2;
}
本次提交後累計分數202,排名22018。
相關文章
- [LeetCode] 243. Shortest Word DistanceLeetCode
- LeetCode之Shortest Distance to a Character(Kotlin)LeetCodeKotlin
- [LeetCode] 244. Shortest Word Distance IILeetCode
- [LeetCode] 317. Shortest Distance from All BuildingsLeetCodeUI
- 簡單模擬死鎖
- 簡單的模擬(洛谷)
- sort回撥的簡單模擬
- 模擬簡單的動態代理
- 簡單易用的前端模擬資料前端
- 簡單實現.NET Hook與事件模擬Hook事件
- POJ3087 Shuffle'm Up【簡單模擬】
- PAT B1009 說反話(簡單模擬)
- 【Tomcat】Tomcat工作原理及簡單模擬實現Tomcat
- H3C模擬器HCL簡單配置OSPF
- 利用Easy Mock簡單模擬開發資料介面Mock
- PAT-B 1012 數字分類【簡單模擬】
- 使用 Raku 編寫簡單的文字識別模擬程式
- Proteus實現簡單51程式的設計與模擬
- noip模擬29[簡單的板子題](雖然我不會)
- 使用 json-server 簡單完成CRUD模擬後臺資料JSONServer
- 簡單聊聊模組
- 透過簡單實現 PHP 請求模擬賺了 50 元PHP
- ZZULIOJ1046
- 單源最短路徑(single-source shortest path )
- 模擬實現簡易版shell
- PAT-B 1008 陣列元素迴圈右移問題【簡單模擬】陣列
- Paramiko模組簡單使用
- C# Post 模擬表單提交C#
- 模擬select下拉選單詳解
- 單元測試模擬框架Mockito框架Mockito
- 陣列模擬單連結串列陣列
- 回顧二分與bfs(或者說是遞推)和簡單模擬
- python inspect模組簡單使用Python
- 1284 海港 普及組 NOIP2016 佇列基礎 簡單列舉 簡單模擬 優先佇列(priority_queue)佇列
- Matrix Distance
- A - Distance in Tree
- PAT-B 1046 划拳
- 1046 划拳 (15 分)javaJava