using System.Linq;
public class Test
{
float[]N(float[][]s){return s.Select(l=>l.Select((v,i)=>v*s[i].Sum()).Sum()).ToArray();}
public static void Main()
{
var scoreTable = new[]
{
new [] {0, 1, 0.5f, 1, 0},
new [] {0, 0, 1, 0.5f, 0},
new [] {0.5f, 0, 0, 0.5f, 0.5f},
new [] {0, 0.5f, 0.5f, 0, 1},
new [] {1, 1, 0.5f, 0, 0}
};
var neustadlScores = new Test().N(scoreTable);
foreach (var neustadlScore in neustadlScores)
{
System.Console.WriteLine(neustadlScore);
}
}
}
dXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CiAgICBmbG9hdFtdTihmbG9hdFtdW11zKXtyZXR1cm4gcy5TZWxlY3QobD0+bC5TZWxlY3QoKHYsaSk9PnYqc1tpXS5TdW0oKSkuU3VtKCkpLlRvQXJyYXkoKTt9CgoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzY29yZVRhYmxlID0gbmV3W10KCQkgICAgICAgICAgICAgewoJCQkgICAgICAgICAgICAgbmV3IFtdIHswLCAxLCAwLjVmLCAxLCAwfSwKCQkJICAgICAgICAgICAgIG5ldyBbXSB7MCwgMCwgMSwgMC41ZiwgMH0sCgkJCSAgICAgICAgICAgICBuZXcgW10gezAuNWYsIDAsIDAsIDAuNWYsIDAuNWZ9LAoJCQkgICAgICAgICAgICAgbmV3IFtdIHswLCAwLjVmLCAwLjVmLCAwLCAxfSwKCQkJICAgICAgICAgICAgIG5ldyBbXSB7MSwgMSwgMC41ZiwgMCwgMH0KCQkgICAgICAgICAgICAgfTsKCgkJdmFyIG5ldXN0YWRsU2NvcmVzID0gbmV3IFRlc3QoKS5OKHNjb3JlVGFibGUpOwoKCQlmb3JlYWNoICh2YXIgbmV1c3RhZGxTY29yZSBpbiBuZXVzdGFkbFNjb3JlcykKCQl7CgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKG5ldXN0YWRsU2NvcmUpOwoJCX0KCX0JICAgIAp9