日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

最低通行费 C++(PTA)

發(fā)布時(shí)間:2024/5/14 c/c++ 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最低通行费 C++(PTA) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#include <iostream> using namespace std; int maze[102][102];//迷宮矩陣 int main() {int n;cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)cin>>maze[i][j];//輸入值 }int x=1,y=1,money=maze[1][1];//商人的初始位置while(x<n&&y<n)//防止商人出界{if(maze[x+1][y]<=maze[x][y+1]) {money=maze[x+1][y]+money;x++;}else{money=maze[x][y+1]+money;y++;}} if(x>=n){for(;y<=n;)money=maze[x][++y]+money;}else{for(;x<=n;)money=maze[++x][y]+money;}cout<<money; }

上面為代碼。

題目:一個(gè)商人穿過一個(gè)N×N的正方形的網(wǎng)格,去參加一個(gè)非常重要的商務(wù)活動(dòng)。他要從網(wǎng)格的左上角進(jìn),右下角出。每穿越中間1個(gè)小方格,都要花費(fèi)1個(gè)單位時(shí)間。商人必須在(2N-1)個(gè)單位時(shí)間穿越出去。而在經(jīng)過中間的每個(gè)小方格時(shí),都需要繳納一定的費(fèi)用。

這個(gè)商人期望在規(guī)定時(shí)間內(nèi)用最少費(fèi)用穿越出去。請(qǐng)問至少需要多少費(fèi)用?

注意:不能對(duì)角穿越各個(gè)小方格(即,只能向上下左右四個(gè)方向移動(dòng)且不能離開網(wǎng)格)

輸入格式:

第一行是一個(gè)整數(shù),表示正方形的寬度N (1≤N<100);

后面N行,每行N個(gè)不大于100的整數(shù),為網(wǎng)格上每個(gè)小方格的費(fèi)用。

輸出格式:

至少需要的費(fèi)用。

輸入樣例:

5 1 4 6 8 10 2 5 7 15 17 6 8 9 18 20 10 11 12 19 21 20 23 25 29 33

輸出樣例:

109

樣例中,最小值為109=1+2+5+7+9+12+19+21+33。

思路:

1.從總體來看,本題中商人要從左上角進(jìn)入,右下角出。這意味著我們可以將商人的初始位置定為(1,1)。為了避免打代碼時(shí)腦子混亂,我們可以直接從數(shù)組下標(biāo)為【1】單元開始賦值,這樣子打代碼時(shí)就不用減一了。(前提是數(shù)組要設(shè)大一點(diǎn),比如如果n最大為200,那就要把數(shù)組長(zhǎng)設(shè)置為201或以上)

2.從細(xì)節(jié)上看,本題商人必須在(2N-1)個(gè)單位時(shí)間內(nèi)穿越出去。(2N-1)是什么概念呢?就是商人圍著矩陣最外層走半圈的耗時(shí)。這意味著時(shí)間是非常緊的----商人不能往回走(就是往上或者往左走)這點(diǎn)很重要!!!(朋友們可以自己畫個(gè)圖走一下來感覺)

3.整合以下,就是商人從(1,1)開始走,通過比較下面和右邊格子數(shù)字的大小來進(jìn)行移動(dòng)(不用管左邊和上面的格子,因?yàn)闆]有時(shí)間)如果走到了最下面,那就往右邊走就行了,不用管其大小(還是那個(gè)道理,不用管左邊和上面!!)直到走至(n,n)--也就是右下角的位置。走到最右邊時(shí)同理,只用管下面就行了。

思路理清楚后代碼就不難了,相信各位朋友一定也有自己的見解,歡迎評(píng)論留言!

ps:這是本人 (18歲計(jì)算機(jī)菜鳥) 第一次寫博客,可能語言描述不是很到位,歡迎各位大佬批評(píng)與指正!!

總結(jié)

以上是生活随笔為你收集整理的最低通行费 C++(PTA)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。