Deep Learning study

백준 11780문제 본문

백준 문제 코드

백준 11780문제

HwaniL.choi 2019. 9. 23. 18:22
반응형
#include <iostream>
#include <vector>
using namespace std;

#define INF 1e9

int d[100][100];
int v[100][100];

int main(){
  ios_base::sync_with_stdio(0);

  int n,m;
  cin >> n >> m;

  for(int i=0 ;i<n;i++)
    for(int j=0 ;j<n;j++)
      d[i][j] = (i==j ? 0 : INF);

  for(int i=0 ;i<m;i++){
    int a,b,c;
    cin >> a >> b >> c;
    if(d[a-1][b-1] > c) d[a-1][b-1] = c,v[a-1][b-1] = b-1;
  }

  for(int k=0 ;k<n;k++)
    for(int i=0 ;i<n;i++)
      for(int j=0 ;j<n;j++)
        if(d[i][j] > d[i][k] + d[k][j]){
          d[i][j] = d[i][k] + d[k][j];
          v[i][j] = v[i][k];
        }

  for(int i=0 ;i<n;i++){
    for(int j=0 ;j<n;j++)
      if(i==j || d[i][j] == INF) cout << 0 << " ";
      else cout << d[i][j] << " ";
    cout << '\n';
  }

  for(int i=0 ;i<n;i++){
    for(int j=0; j<n ;j++){
      if(i==j || d[i][j] == INF){
        cout << 0 << '\n';
        continue;
      }
      vector<int> p(1,i);
      for(int k=i;k!=j;){
        p.push_back(k=v[k][j]);
      }
      cout << p.size();
      for(int k : p) cout << " " << k+1;
      cout << '\n';
    }
  }

  return 0;
}

 

백준 11780 문제 풀이입니다.

반응형

'백준 문제 코드' 카테고리의 다른 글

백준 5588문제  (0) 2019.09.24
백준 2864문제  (0) 2019.09.24
백준 13161문제  (0) 2019.09.22
백준 10825문제 - 2  (0) 2019.09.22
백준 10825번 문제  (0) 2019.09.22
Comments