Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 超字符串算法_String_Dynamic Programming - Fatal编程技术网

String 超字符串算法

String 超字符串算法,string,dynamic-programming,String,Dynamic Programming,我想知道解决超弦问题的算法。 有关说明,请访问 它能用动态规划来解决吗 非常感谢您的帮助。公共类超字符串{ //阿布贝克·塔格尔希尔 private static int n,m,sum=1; private static void temp(String u,String []d) { for(int i=0 ; i<d.length;i++) { if((u.length()+d[i].length())<=m) { sum++; temp

我想知道解决超弦问题的算法。 有关说明,请访问

它能用动态规划来解决吗


非常感谢您的帮助。

公共类超字符串{

//阿布贝克·塔格尔希尔

private static int n,m,sum=1;
private static void temp(String u,String []d)
{
for(int i=0 ; i<d.length;i++)
{
   if((u.length()+d[i].length())<=m)
   {
       sum++;
       temp(u+d[i],d);
   }
}
}

private static int Input3(String [] d)
{
    sum +=d.length;
    for(int i=0;i<d.length;i++){
    for(int j=0;j<d.length;j++)
    {
    if((d[i].length()+d[j].length())<=m)
    {
        sum++;
        temp(d[i]+d[j],d);
    }
    }      
    }
    return sum;
}

public static void main(String[] args) {  
  Scanner sc = new Scanner(System.in);
  String h = sc.nextLine();
  StringTokenizer tz = new StringTokenizer(h);
  String h1 = tz.nextToken();
  n = Integer.parseInt(h1);
  String h2 = tz.nextToken();
  m = Integer.parseInt(h2);
  //Input2();
    String [] d = new String[n];
    for(int i=0;i<n;i++)
  {
      d[i] = sc.nextLine();
  }
  System.out.println(Input3(d));

}
私有静态整数n,m,和=1;
私有静态void temp(字符串u,字符串[]d)
{
对于(int i=0;iSee