1 ABCDEFGHIJKL 11700519 ZAYEXIWOVU 3072997 SOUGHT 1234567 THEQUICKFROG 0 END
LKEBA YOXUZ GHOST no solution
//暴力水过!简单的字典序问题弄了菜鸟博主半个多小时!
import java.io.*;
import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		while (input.hasNext())
		{
			int target = input.nextInt();
			boolean flag = false;                                      
			String str = input.nextLine();                               
			str = str.replaceAll(" ", "");                            //去掉字符串前面的空格
			if (target == 0 && str.compareTo("END") == 0)             //如果满足条件中止程序
				break;
			char c[] = str.toCharArray();                             //字符串转换为字符数组
			int a[] = new int[str.length()];
			for (int i = 0; i < c.length; i++)
			{
				a[i] = CMP(c[i]);                                    //字符数组转换为数字数组
			}
			Arrays.sort(a);                                          //快速排序方法,但是此时数组顺序是从小到大
			for (int i = c.length - 1; i >= 0; i--)
			{
				for (int j = c.length - 1; j >= 0; j--)
				{
					if (j == i)                                    
						continue;
					for (int k = c.length - 1; k >= 0; k--)
					{
						if (k == i || k == j)
							continue;
						for (int l = c.length - 1; l >= 0; l--)
						{
							if (l == i || l == j || l == k)
								continue;
							for (int m = c.length - 1; m >= 0; m--)
							{
								if (m == i || m == j || m == k || m == l)
									continue;
								if ((a[i] - (a[j] * a[j])                                    //代入公式求解
										+ (a[k] * a[k] * a[k])
										- (a[l] * a[l] * a[l] * a[l]) 
										+ (a[m]* a[m] * a[m] * a[m] * a[m])) == target)
								{
									flag = true;
									char c1 = (char) (a[i] + 'A' - 1);
									char c2 = (char) (a[j] + 'A' - 1);
									char c3 = (char) (a[k] + 'A' - 1);
									char c4 = (char) (a[l] + 'A' - 1);
									char c5 = (char) (a[m] + 'A' - 1);
									System.out.println(c1 + "" + c2 + "" + c3 + "" + c4 + "" + c5);
									break;
								}
							}
							if (flag)
								break;
						}
						if (flag)
							break;
					}
					if (flag)
						break;
				}
				if (flag)
					break;
			}
			if (!flag)
				System.out.println("no solution");
		}
	}
	public static int CMP(char c)
	{
		return ((c - 'A') + 1);                                                  //A字符代表的数字符号是1
	}
}
HDU-1015-Safecracker(Java && 暴力大法好 && 简单字典序)
原文:http://blog.csdn.net/qq_16542775/article/details/45703159