题号:NC21799
                        时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
            空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
            Special Judge, 64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
            有n个城市,标号为0到n-1,任意两个城市都可以互相到达,告诉你所有城市对之间互相到达需要的时间,(A城市到B城市与B城市到A城市的时间是一样的)
  你有k次魔法操作,每次操作可以是你的前进速度变成原来的两倍,每次当你选择从一个城市前往另一个城市的时候你都可以选择是否使用魔法操作
 如果选择了,意味着你只会花费原来一半的时间到达目标城市
 计算从0号城市到1号城市最少需要花费的时间 
  
 
输入描述:
                                                    第一行先输入2个整数n,k (2 ≤ ≤ 50, 0 ≤ k ≤ 50)
接下来n行每行n个字符
第i行的第j个字符表示i城市到j城市需要的时间
                                                                            输出描述:
                                                    输出一个浮点数,与答案误差在1e-6之间
                                                                            
                                    
                                    
                        
                            示例3
                        
                        
                            
                                输入
                                复制
                                
                                
                                    6 1
076237
708937
680641
296059
334508
771980
                                 
                             
                            
                                                     
                     
                                                        备注:
                子任务1:n <= 10
子任务2:n <= 20
子任务3:无限制