提交时间:2024-03-30 16:33:34
运行 ID: 140621
#include<bits/stdc++.h> using namespace std; double a[1005][1005]; double b[1005][1005]; int main(){ int x,y,z; cin>>x>>y>>z; int m,n; for(int i=1;i<=z;i++){ cin>>m>>n; a[m][n]=1; } for(int i=0;i<=x;i++){ b[i][0]=i*100; } for(int i=0;i<=y;i++){ b[0][i]=i*100; } for(int i=1;i<=x;i++) for(int j=1;j<=y;j++){ double maxn=min(b[i][j-1]+100,b[i-1][j]+100); if(a[i][j]==1){ maxn=min(maxn,b[i-1][j-1]+141.421356237); } b[i][j]=maxn; } cout<<round(b[x][y]); }