結果
| 問題 | No.8018 簡易版ページランク |
| ユーザー |
ldsyb
|
| 提出日時 | 2017-03-18 20:59:02 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 11 ms / 2,000 ms |
| コード長 | 685 bytes |
| コンパイル時間 | 1,159 ms |
| コンパイル使用メモリ | 79,120 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-07-04 19:30:49 |
| 合計ジャッジ時間 | 1,667 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
struct edge{
int from, to, per;
edge(){}
edge(int from, int to, int per){
this->from = from;
this->to = to;
this->per = per;
}
};
int main(){
int n, m;
cin >> n >> m;
vector<edge> e(m);
int sum[n]{};
for(int i = 0; i < m; i++){
int from, to, per;
cin >> from >> to >> per;
e[i] = edge(from, to, per);
sum[from] += per;
}
vector<double> now(n, 10);
for(int i = 0; i < 100; i++){
vector<double> next(n, 0);
for(auto&& ee:e){
next[ee.to] += 1. * now[ee.from] * ee.per / sum[ee.from];
}
now = next;
}
for(auto&& nn:now) cout << fixed << setprecision(10) << nn << endl;
}
ldsyb