Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void main(String[] args) {
- int[] numbers = new int[] {1, 8, 9, 7, 6};
- LinkedList complete = new LinkedList();
- LinkedList states = new LinkedList();
- states.addFirst(new State(numbers, 0));
- int j;
- int i = 0;
- int temp;
- State state;
- while(i < numbers.length) {
- j = states.size();
- while(j > 0) {
- state = (State)states.removeFirst();
- for (int k = 0; k < numbers.length; k++)
- {
- for (int l = 0; l < numbers.length; l++)
- {
- if (k == 1)
- continue;
- //Array.Copy(state.Item1, numbers, numbers.length);
- temp = numbers[k];
- numbers[k] = numbers[l];
- numbers[l] = temp;
- //if (state.Item1.OrderBy(a => a).SequenceEqual(state.Item1))
- //{
- // complete.Add(new Tuple<int[], int>(numbers, state.Item2 + numbers[k] + numbers[1]));
- // }
- //else
- //{
- // states.Add(new Tuple<int[], int>(numbers, state.Item2 + numbers[k] + numbers[l]));
- // }
- }
- }
- j--;
- }
- i++;
- }
- }
Add Comment
Please, Sign In to add comment