import java.text.DecimalFormat; import java.util.*; public class Main{ static double Max=-1; static int[] vis,res; static int n;     public static void main(String[] args){         Scanner sc = new Scanner(System.in);         n = sc.nextInt();         vis = new int[n];         res = new int[n];         double[][] s = new double[n][n];         for(int i=0;i<n;i++)          for(int j=0;j<n;j++)          s[i][j]=sc.nextDouble();         int[] re = new int[n];         find(s,0,0,re);         DecimalFormat sf = new DecimalFormat("#0.00");         int tp = (int)Max;         System.out.println(sf.format(Max));         for(int i=0;i<n;i++)          System.out.println((i+1)+" "+(res[i]+1));     }     static void find(double[][] s,double max,int t,int[] re){      if(t==n){      if(max>Max){      for(int i=0;i<n;i++){      res[i]=re[i];      }      Max=max;      }      return ;      }      for(int i=0;i<n;i++){      if(vis[i]!=1){      vis[i]=1;      re[t]=i;      find(s,max+s[t][i],t+1,re);      vis[i]=0;      }      }     } }
点赞 评论

相关推荐

Java转测开第一人:这种就是饼 把应届当廉价劳动力用完然后丢掉
你觉得今年秋招难吗
点赞 评论 收藏
分享
09-22 22:22
中山大学 Java
乌鱼子萨奇:羡慕你啊,直接转正了,都不用经历秋招的炼狱,但是你少经历了很多痛苦的事情啊
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务