warshallアルゴリズムでtransitive closureを求めます


warshall , transitive closure
warshallアルゴリズム応用
  • 都市の各バス停はどのように列車を設置するのがもっと科学的です
  • はどのように車をもっと近くに回転するか、あるいは回転回数がもっと少ないか(これはこのアルゴリズムの応用とは言えないが、transitive closureに関連しているだけだ)
  • code
  • warshallアルゴリズム伝達閉パケット
    bool map[9][9]; //    
    bool tc[9][9];  // Transitive Closure
    void warshall()
    {
        //       
        for (int i=0; i<9; i++)
            for (int j=0; j<9; j++)
                tc[i][j] = map[i][j];
    
        for (int k=0; k<9; k++) //         
            for (int i=0; i<9; i++) //       i  j
                for (int j=0; j<9; j++)
                    if (tc[i][k] && tc[k][j])
                        tc[i][j] = true;
    }
    
  • を求める