Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.Scanner;
- public class pairE {
- public static void main(String[] args) {
- List<String> inputStrings = getInput();
- for(int i = 0; i < (inputStrings.size() - 1); i++){
- List<Integer> intArrayList = getIntArray(inputStrings.get(i));
- Collections.sort(intArrayList);
- int[][] matrix = createMatrix(intArrayList);
- findSFromMatrix(matrix, intArrayList);
- }
- }
- //Main Algorithm
- private static void findSFromMatrix(int[][] matrix, List<Integer> intArrayList){
- /*
- * + | 1 2 3 4
- * ------------
- * 1 | x 3 4 5
- * 2 | x x 5 6
- * 3 | x x x 7
- * 4 | x x x x
- */
- List<Integer> matches = new ArrayList<Integer>();
- for(int i = 3; i < intArrayList.size(); i++){
- for(int j = 0; j < i; j++){
- for(int k = 1; k < i; k++){
- if(matrix[j][i] == matrix[j + 1][i - k]){
- matches.add(matrix[j][i]);
- break;
- }
- }
- }
- }
- //System.out.println(matches.toString());
- if(matches.size() == 0){
- System.out.println("None");
- }else{
- Collections.sort(matches);
- System.out.println("yes: " + matches.get(0));
- }
- }
- private static int[][] createMatrix(List<Integer> intArrayList){
- int[][] matrix = new int[intArrayList.size()][intArrayList.size()];
- for(int i = 1; i < intArrayList.size(); i++){
- for(int j = 0; j < i; j++){
- matrix[j][i] = intArrayList.get(i) + intArrayList.get(j);
- }
- }
- return matrix;
- }
- private static List<String> getInput(){
- Scanner scan = new Scanner(System.in);
- List<String> inputStrings = new ArrayList<String>();
- while(scan.hasNext()){
- inputStrings.add(scan.nextLine());
- if(inputStrings.get(inputStrings.size() - 1).equals("0")){
- break;
- }
- }
- scan.close();
- return inputStrings;
- }
- private static List<Integer> getIntArray(String inputString){
- String[] splitString = inputString.split(" ");
- List<Integer> intArrayList = new ArrayList<Integer>();
- for(int i = 0; i < (splitString.length); i++){
- intArrayList.add(Integer.parseInt(splitString[i]));
- }
- return intArrayList;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement