入門模擬 簡單模擬 A1046

2021-08-14 08:15:52 字數 462 閱讀 3383

思路:

1、以dis[i]表示1號結點順時針方向到達i號結點的距離,sum表示一圈的總距離。題目要求的就是dis(left-right)和sum-dis(left-right)中的最小值。

2、dis[i]記錄從第1個結點到第i個結點的距離。

注意:

1、查詢的兩個編號left和right可能left>right

2、沒有預處理dis陣列會超時

#include

using

namespace

std;

int main()

d[0] = 0;

for(int i=1;i<=k;i++)//dis陣列記錄從1號位開始到第i位的距離(順時針)

cin>>m;

for(int i=1;i<=m;i++)

return

0;}

PAT B1046划拳(簡單模擬)

划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。下面給出甲 乙兩人的划拳記錄,請你統計他們最後分別喝了多少杯酒。輸...

《演算法筆記》3 1小節 入門模擬 簡單模擬

時間限制 1.000 sec 記憶體限制 32 mb 有乙個長度為整數l 1 l 10000 的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個整數座標點有一棵樹,即在0,1,2,l共l 1個位置上有l 1棵樹。現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移...

3 1入門模擬B1046 划拳 15

划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。下面給出甲 乙兩人的划拳記錄,請你統計他們最後分別喝了多少杯酒。輸...