Advertisement
Guest User

Untitled

a guest
May 10th, 2016
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #include <bits/stdtr1c++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef double ld;
  6. ld a[505][505], b[2][505];
  7. int main() {
  8. ios::sync_with_stdio(0);
  9. int n; cin >> n;
  10. for (int i = 0; i < n; i++) {
  11. for (int j = 0; j < n; j++) {
  12. cin >> a[j][i];
  13. }
  14. b[0][i] = 1.0/sqrt(n);
  15. }
  16.  
  17. int iters = 500;
  18. while (iters--) {
  19. ld len = 0;
  20. for (int i = 0; i < n; i++) {
  21. for (int j = 0; j < n; j++) {
  22. b[iters&1][i] += a[i][j] * b[(iters&1)^1][j];
  23. }
  24. len += b[iters&1][i] * b[iters&1][i];
  25. }
  26.  
  27. len = sqrt(len);
  28. for (int i = 0; i < n; i++) {
  29. b[iters&1][i] /= len;
  30. }
  31. }
  32.  
  33. ld sum = 0;
  34. for (int i = 0; i < n; i++) {
  35. sum += b[0][i];
  36. }
  37. cout << fixed << setprecision(8) << b[0][0]/sum << endl;
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement