Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Task4b {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- String[][] arr = {
- {"f", "b", "d", "d", "d"},
- {"a", "b", "c", "d", "d"},
- {"a", "c", "b", "d", "d"},
- {"d", "d", "d", "a", "a"},
- {"d", "f", "f", "a", "a"}
- };
- Map<String, Integer> strToInt = new HashMap<String,Integer>();
- strToInt.put("a", 0);
- strToInt.put("b", 1);
- strToInt.put("c", 2);
- strToInt.put("d", 3);
- strToInt.put("f", 4);
- Map<Integer, String> intToStr = new HashMap<Integer, String>();
- intToStr.put(0, "a");
- intToStr.put(1, "b");
- intToStr.put(2, "c");
- intToStr.put(3, "d");
- intToStr.put(4, "f");
- ArrayList<ArrayList<Integer>> lists1 = new ArrayList<>();
- for (int i=0; i < 5; i++){
- ArrayList<Integer> list = new ArrayList<>();
- int temp = i;
- list.add(temp);
- while (true) {
- temp = strToInt.get(arr[temp][i]);
- if (list.contains(temp)) {
- break;
- }
- list.add(temp);
- }
- lists1.add(list);
- if (list.size() == 5){
- System.out.println(i);
- }
- }
- ArrayList<ArrayList<Integer>> lists2 = new ArrayList<>();
- for (int i=0; i < 5; i++){
- for (int j=i+1; j<5; j++){
- ArrayList<Integer> list = new ArrayList<>();
- for (int k=0; k<lists1.get(i).size(); k++){
- if (!list.contains((lists1.get(i).get(k)))) {
- list.add(lists1.get(i).get(k));
- }
- }
- for (int k=0; k<lists1.get(j).size(); k++){
- if (!list.contains(lists1.get(j).get(k))) {
- list.add(lists1.get(j).get(k));
- }
- }
- for (int k=0; k<list.size(); k++){
- int temp = list.get(k);
- if (temp != i && temp != j) {
- for (int a=0; a<lists1.get(temp).size(); a++){
- if (!list.contains(lists1.get(temp).get(a))) {
- list.add(lists1.get(temp).get(a));
- }
- }
- }
- }
- for (int l=0; l<list.size(); l++){
- for(int m=0; m<list.size(); m++){
- int temp = strToInt.get(arr[list.get(l)][list.get(m)]);
- if (!list.contains(temp)){
- list.add(temp);
- if (temp != i && temp != j) {
- for (int a=0; a<lists1.get(temp).size(); a++){
- if (!list.contains(lists1.get(temp).get(a))) {
- list.add(lists1.get(temp).get(a));
- }
- }
- }
- }
- }
- }
- lists2.add(list);
- if (list.size() == 5){
- System.out.println(i + " " + j);
- }
- }
- }
- ArrayList<ArrayList<Integer>> lists3 = new ArrayList<>();
- for (int i=0; i < 5; i++) {
- for (int j = i + 1; j < 5; j++) {
- for (int h=j+1; h<5; h++) {
- ArrayList<Integer> list = new ArrayList<>();
- for (int k=0; k<lists1.get(i).size(); k++){
- if (!list.contains((lists1.get(i).get(k)))) {
- list.add(lists1.get(i).get(k));
- }
- }
- for (int k=0; k<lists1.get(j).size(); k++){
- if (!list.contains(lists1.get(j).get(k))) {
- list.add(lists1.get(j).get(k));
- }
- }
- for (int k=0; k<lists1.get(h).size(); k++){
- if (!list.contains(lists1.get(h).get(k))) {
- list.add(lists1.get(h).get(k));
- }
- }
- for (int k=0; k<list.size(); k++){
- int temp = list.get(k);
- if (temp != i && temp != j && temp != h) {
- for (int a=0; a<lists1.get(temp).size(); a++){
- if (!list.contains(lists1.get(temp).get(a))) {
- list.add(lists1.get(temp).get(a));
- }
- }
- }
- }
- for (int l=0; l<list.size(); l++){
- for(int m=0; m<list.size(); m++){
- int temp = strToInt.get(arr[list.get(l)][list.get(m)]);
- if (!list.contains(temp)){
- list.add(temp);
- if (temp != i && temp != j) {
- for (int a=0; a<lists1.get(temp).size(); a++){
- if (!list.contains(lists1.get(temp).get(a))) {
- list.add(lists1.get(temp).get(a));
- }
- }
- }
- }
- }
- }
- lists3.add(list);
- if (list.size() == 5){
- System.out.println(i + " " + j + " " + h);
- }
- }
- }
- }
- ArrayList<ArrayList<Integer>> lists4 = new ArrayList<>();
- for (int i=0; i < 5; i++) {
- for (int j = i + 1; j < 5; j++) {
- for (int h=j+1; h<5; h++) {
- for (int y=h+1; y<5; y++) {
- ArrayList<Integer> list = new ArrayList<>();
- for (int k = 0; k < lists1.get(i).size(); k++) {
- if (!list.contains((lists1.get(i).get(k)))) {
- list.add(lists1.get(i).get(k));
- }
- }
- for (int k = 0; k < lists1.get(j).size(); k++) {
- if (!list.contains(lists1.get(j).get(k))) {
- list.add(lists1.get(j).get(k));
- }
- }
- for (int k = 0; k < lists1.get(h).size(); k++) {
- if (!list.contains(lists1.get(h).get(k))) {
- list.add(lists1.get(h).get(k));
- }
- }
- for (int k = 0; k < lists1.get(y).size(); k++) {
- if (!list.contains(lists1.get(y).get(k))) {
- list.add(lists1.get(y).get(k));
- }
- }
- for (int k = 0; k < list.size(); k++) {
- int temp = list.get(k);
- if (temp != i && temp != j && temp != h && temp != y) {
- for (int a = 0; a < lists1.get(temp).size(); a++) {
- if (!list.contains(lists1.get(temp).get(a))) {
- list.add(lists1.get(temp).get(a));
- }
- }
- }
- }
- for (int l = 0; l < list.size(); l++) {
- for (int m = 0; m < list.size(); m++) {
- int temp = strToInt.get(arr[list.get(l)][list.get(m)]);
- if (!list.contains(temp)) {
- list.add(temp);
- if (temp != i && temp != j) {
- for (int a = 0; a < lists1.get(temp).size(); a++) {
- if (!list.contains(lists1.get(temp).get(a))) {
- list.add(lists1.get(temp).get(a));
- }
- }
- }
- }
- }
- }
- lists4.add(list);
- if (list.size() == 5){
- System.out.println(i + " " + j + " " + h + " " + y);
- }
- }
- }
- }
- }
- int k=0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement