는 내가 생각 해낸 아이디어는 온라인 판사 PS는 [Floyd_Warshal는, C는 ++]
이의 합을 찾기 위해 당신은 버튼을 클릭하여 언어를 변경할 수 있습니다 https://www.acmicpc.net/problem/1238#
이 문제를 해결하고 두 번째와 그래서 여기에 K 번째
두 번째로 K 번째에서 최단 거리 내 전체 소스 코드
#include <stdio.h>
#define INF 999999
#define min(x,y) ((x)>(y)?(y):(x))
using namespace std;
int ans = 0;
int n,m,x;
int d[1001][1001];
void Floyd_Warshal(){
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
if(i==j) d[i][j]=0;
}
}
for(int k=1; k<=n; k++){
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
}
}
void solve(){
for(int i=1; i<=n; i++){
if(i==2) continue;
if(d[i][2] + d[2][i]>ans) ans = d[i][2] + d[2][i];
//printf("%d = %d+%d \n",ans,d[i][2],d[2][i]);
}
}
int main(){
scanf("%d %d %d",&n,&m,&x);
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++) d[i][j] = INF;
}
for(int i=0; i<m; i++){
int u,v,t;
scanf("%d %d %d",&u,&v,&t);
d[u][v] = t;
}
Floyd_Warshal();
solve();
printf("%d\n",ans);
return 0;
}
Floyd_warshal() 함수는 괜찮다고 생각합니다.
하지만 문제를 해결하기 위해 잘못된 접근 방식 (위의 제안 사항)을 취하여 문제를 해결하기위한 올바른 접근 방식인지 묻고 싶습니다.
문제 성명에 대한 간단한 요약을 게시 할 수 있습니까? 번역 버튼이 보이지 않으며 Google 번역은 나에게 충분한 것을 제공하지 않습니다. – IVlad
이 질문은 'C'로 테제 된 것이므로, C 컴파일러가 ERROR 메시지를 발생시키는 코드에서 'Could'using this namespace std; – user3629249
게시 된 코드가 컴파일되지 않습니다. 이는 (태그 당) C 코드에 C++ 문이 포함되어 있기 때문입니다. – user3629249