Letöltés: ep_master.java import java.io.BufferedReader; import java.io.FileReader; import java.io.FileNotFoundException; import java.io.IOException; class Solver{ int feltetelDB; int[][] feltetel; String megoldas; int ok; Solver(String be) throws FileNotFoundException, IOException { BufferedReader BE = new BufferedReader(new FileReader(be)); String sor = BE.readLine(); feltetelDB = Integer.parseInt(sor); feltetel = new int[feltetelDB][]; for(int i = 0; i < feltetelDB; i++){ feltetel[i] = new int[6]; sor = BE.readLine(); String[] nums = sor.split(" "); for(int j = 0; j < 6; j++){ feltetel[i][j] = Integer.parseInt(nums[j]); } } } boolean checkf(int i, int a , int b, int c, int d){ int joo = 0; int jo = 0; int deb = 0; if(feltetel[i][0]==a){ joo++; a = 0; } if(feltetel[i][1]==b){ joo++; b = 0; } if(feltetel[i][2]==c){ joo++; c = 0; } if(feltetel[i][3]==d){ joo++; d = 0; } for(int j = 0; j<4; j++){ if((feltetel[i][j]==a)|| (feltetel[i][j]==b)|| (feltetel[i][j]==c)|| (feltetel[i][j]==d) ){ jo++; } } return (feltetel[i][4]==joo)&&(feltetel[i][5]==jo); } boolean check(int a , int b, int c, int d){ for(int i=0; i < feltetelDB; i++){ if(!checkf(i, a,b,c,d)){ return false; } } return true; } void megold(){ ok = 0; megoldas = ""; for(int a = 1; a < 7; a++) for(int b = 1; b < 7; b++) for(int c = 1; c < 7; c++) for(int d = 1; d < 7; d++){ if(!((a==b)||(a==c)||(a==d)||(b==c)||(b==d)||(c==d))){ if(check(a,b,c,d)){ ok++; megoldas += ""+a+b+c+d+"\n"; } } } } void kiir(){ System.out.println(ok); System.out.println(megoldas); } public void solve(){ megold(); kiir(); } } public class mastermind { public static void main (String args[]) throws FileNotFoundException, IOException { Solver S = new Solver("mastermind.be"); S.solve(); } } |