×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#55565: c++ 直觀暴力解
61247091s@gapps.ntnu.edu.tw
(wei)
學校:
不指定學校
編號:
244449
×
傳送站內訊息
傳給:
主題:
內容:
來源:
[123.192.182.169]
註冊時間:
2023-09-07 14:39:22
最後登入時間:
2025-11-28 22:26:54
e287.
機器人的路徑
--
APCS
| From: [123.192.179.85] | 發表日期: 2026-07-19 17:15
#include <bits/stdc++.h>
using namespace std;
int r,c;
int a[105][105];
bool mp[105][105];
int main(){
cin>>r>>c;
int start=1000001,sr,sc;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
cin>>a[i][j];
if(a[i][j]<start){start=a[i][j];sr=i;sc=j;}}
}
int dr[4]={1,-1,0,0};
int dc[4]={0,0,1,-1};
int total=start;
mp[sr][sc] = true;
while(1){
int minval=1e9;
int next_r=-1,next_c=-1;
for(int k=0;k<4;k++){
int cr=sr+dr[k];
int cc=sc+dc[k];
if(cr<0||cc<0||cr>=r||cc>=c)continue;
if (mp[cr][cc]==true)continue;
if(a[cr][cc]<minval){
minval=a[cr][cc];
next_r=cr;next_c=cc;}
} if(next_r==-1)break;
sr=next_r;
sc=next_c;
total+=minval;
mp[sr][sc] = true;
}
cout<<total<<endl;
return 0;
}