#33409: C++ 我用floyd-warshall演算法,但只有一分


e002933 (徐MAN)

學校 : 不指定學校
編號 : 158405
來源 : [111.71.113.217]
最後登入時間 :
2023-11-18 16:56:51
a290. 新手訓練系列 ~ 圖論 -- 新手訓練系列 ~ 3 | From: [163.20.42.253] | 發表日期 : 2023-01-04 14:54

演算法運用的是floyd-warshall

實際在電腦上測試比較小的數字也沒問題

但只有一分,後面兩題產生立即終止訊號

想知道問題出在哪裡

#include<iostream>
using namespace std;


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n, m;
    while(cin>>n>>m) {
        bool a[n+1][n+1];
        for(int j = 0; j <= n; j++)
            for(int k = 0; k <= n; k++)
                a[j][k] = 0;
        for(int i = 0; i < m; i++) {
            int t1, t2;
            cin>>t1>>t2;
            a[t1][t2] = 1;
        }
        int fa, fb;
        cin>>fa>>fb;
        for(int i = 1; i <= n; i++) {
            for(int j = 1; j <= n; j++) {
                for(int k = 1; k <= n; k++) {
                    if(a[i][j] && a[k][i])
                        a[k][j] = 1;
                }
            }
        }
        if(a[fa][fb] == 1)
            cout<<"Yes!!!"<<endl;
        else
            cout<<"No!!!"<<endl;
    }
    return 0;
}

 
#33629: Re: C++ 我用floyd-warshall演算法,但只有一分


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a290. 新手訓練系列 ~ 圖論 -- 新手訓練系列 ~ 3 | From: [27.247.167.179] | 發表日期 : 2023-01-14 21:40

演算法運用的是floyd-warshall

 


查了一下,這個演算法時間複雜度O(n³),改用快一點的方法吧

 
ZeroJudge Forum