HomeVolumesContestsSectionsForumsUsersPrintHelpAbout

Volumes > Array and Matrices > problem:


50659 - Covariance Matrix

Guest
• Review clarifications (1)

Volume problems

• 50377 - kth Permutation
• 50908 - Buy 1 Get 1
• 50906 - The Smallest Pair
• 51043 - Genome Sequencing
• 51042 - The most frequent k-mer
• 50657 - Permutations and Combinat...
• 51246 - Swap largest word, reverse ...
• 51069 - Last Digit of a Fibonacci Nu...
• 50659 - Covariance Matrix
• 50977 - Gaussian Elimination
• Word Puzzle
• 50748 - Gold Store
• 50658 - The Message
• 50766 - Word Puzzle
• 50934 - Selling Cars
• 50746 - Most Visited
• 50749 - Min Distance

Feedback

If you notice incorrect translations in Contester, please let author know.

Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb.
Prepared by Ibrahim Mesecan.

Covariance Matrix

In probability theory and statistics, covariance is a measure of how much two random variables change together.

e.g. if you have the following 6 rows and 2 cols series, covariance matrix can be calculated as follows: First you calculate the average of every columns (4.5; 5)

Then, you calculate residuals by subtracting the average from every element of series:
Residual of every row is multiplied with its transpose (rotated 90o).
Then, the results are summed up and divided by (n-1) (5).

Question: Write a program that reads n rows m columns series. And then, it calculates and shows the covariance matrix.

Input specification
You will be given two numbers (n and m) in the beginning where 1 ≤ n ≤ 1000 and 1 ≤ m ≤ 50. Then Then in the following n lines you will be given m integers where the given numbers are integers between 0 and 1000.

Output specification
Show the covriance matrix with two digits precision.

Sample Input I
6 2
3 2
2 4
3 4
6 5
6 7
7 8
Sample Input II
6 3
11 9 8
5 11 9
9 7 8
1 0 4
5 10 7
10 11 2
Sample Output I
4.3 3.8
3.8 4.8
Sample Output II
14.57 9.80 0.87
9.80 17.60 3.00
0.87 3.00 7.47


Для отправки решений необходимо выполнить вход.

www.contester.ru