Advertisement
Guest User

Untitled

a guest
Jul 29th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.Scanner;
  5.  
  6.  
  7. public class pairE {
  8.  
  9. public static void main(String[] args) {
  10. List<String> inputStrings = getInput();
  11.  
  12. for(int i = 0; i < (inputStrings.size() - 1); i++){
  13. List<Integer> intArrayList = getIntArray(inputStrings.get(i));
  14.  
  15. Collections.sort(intArrayList);
  16.  
  17. int[][] matrix = createMatrix(intArrayList);
  18.  
  19. findSFromMatrix(matrix, intArrayList);
  20. }
  21. }
  22. //Main Algorithm
  23. private static void findSFromMatrix(int[][] matrix, List<Integer> intArrayList){
  24. /*
  25. * + | 1 2 3 4
  26. * ------------
  27. * 1 | x 3 4 5
  28. * 2 | x x 5 6
  29. * 3 | x x x 7
  30. * 4 | x x x x
  31. */
  32.  
  33. List<Integer> matches = new ArrayList<Integer>();
  34.  
  35. for(int i = 3; i < intArrayList.size(); i++){
  36. for(int j = 0; j < i; j++){
  37. for(int k = 1; k < i; k++){
  38. if(matrix[j][i] == matrix[j + 1][i - k]){
  39. matches.add(matrix[j][i]);
  40. break;
  41. }
  42. }
  43. }
  44. }
  45.  
  46. //System.out.println(matches.toString());
  47.  
  48. if(matches.size() == 0){
  49. System.out.println("None");
  50. }else{
  51. Collections.sort(matches);
  52. System.out.println("yes: " + matches.get(0));
  53. }
  54. }
  55.  
  56. private static int[][] createMatrix(List<Integer> intArrayList){
  57. int[][] matrix = new int[intArrayList.size()][intArrayList.size()];
  58.  
  59. for(int i = 1; i < intArrayList.size(); i++){
  60. for(int j = 0; j < i; j++){
  61. matrix[j][i] = intArrayList.get(i) + intArrayList.get(j);
  62. }
  63. }
  64.  
  65. return matrix;
  66. }
  67.  
  68. private static List<String> getInput(){
  69. Scanner scan = new Scanner(System.in);
  70.  
  71. List<String> inputStrings = new ArrayList<String>();
  72.  
  73. while(scan.hasNext()){
  74. inputStrings.add(scan.nextLine());
  75.  
  76. if(inputStrings.get(inputStrings.size() - 1).equals("0")){
  77. break;
  78. }
  79. }
  80.  
  81. scan.close();
  82.  
  83. return inputStrings;
  84. }
  85.  
  86. private static List<Integer> getIntArray(String inputString){
  87. String[] splitString = inputString.split(" ");
  88. List<Integer> intArrayList = new ArrayList<Integer>();
  89.  
  90. for(int i = 0; i < (splitString.length); i++){
  91. intArrayList.add(Integer.parseInt(splitString[i]));
  92. }
  93.  
  94. return intArrayList;
  95. }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement