public class cie { public static void main(String[] args) { int d = cielib.podajD(); int k = cielib.podajK(); int r = cielib.podajR(); int ileZapytan = 0; int wymiary[][] = new int[d][2]; int pozycje[] = new int[d]; for(int i = 0; i < d; i++){ wymiary[i][0] = 0; wymiary[i][1] = r; } boolean czySprawdzac = true; for(int i = 0; i < d; i++){ pozycje[i] = (wymiary[i][0] + wymiary[i][1])/2; } if((wymiary[0][0] + 2 ) >= wymiary[0][1]){ czySprawdzac = false; } while (czySprawdzac){ int srodek = r/2 + 1; int shift = (wymiary[0][0] - wymiary[0][1]) % 2; for(int i = 0; i < d; i++){ pozycje[i] = wymiary[i][0]; int czyLepiej = cielib.czyCieplo(pozycje); pozycje[i] = wymiary[i][1]; czyLepiej = cielib.czyCieplo(pozycje); if(czyLepiej == 1){ wymiary[i][0] = (wymiary[i][1] - wymiary[i][0])/2; } else{ int nowy = (wymiary[i][1] - wymiary[i][0])/2; wymiary[i][1] = nowy + shift; } pozycje[i] = (wymiary[i][0] + wymiary[i][1])/2; } if((wymiary[0][0] + 2 ) >= wymiary[0][1]){ czySprawdzac = false; } } for(int i = 0; i<d; i++) { pozycje[i] = wymiary[i][0]; int czyLepiej = cielib.czyCieplo(pozycje); pozycje[i] = wymiary[i][1]; czyLepiej = cielib.czyCieplo(pozycje); if(czyLepiej == 0) { pozycje[i] = wymiary[i][0]; czyLepiej = cielib.czyCieplo(pozycje); if(czyLepiej == 0) { pozycje[i] = (wymiary[i][1] - wymiary[i][0]) / 2; } } } cielib.znalazlem(pozycje); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | public class cie { public static void main(String[] args) { int d = cielib.podajD(); int k = cielib.podajK(); int r = cielib.podajR(); int ileZapytan = 0; int wymiary[][] = new int[d][2]; int pozycje[] = new int[d]; for(int i = 0; i < d; i++){ wymiary[i][0] = 0; wymiary[i][1] = r; } boolean czySprawdzac = true; for(int i = 0; i < d; i++){ pozycje[i] = (wymiary[i][0] + wymiary[i][1])/2; } if((wymiary[0][0] + 2 ) >= wymiary[0][1]){ czySprawdzac = false; } while (czySprawdzac){ int srodek = r/2 + 1; int shift = (wymiary[0][0] - wymiary[0][1]) % 2; for(int i = 0; i < d; i++){ pozycje[i] = wymiary[i][0]; int czyLepiej = cielib.czyCieplo(pozycje); pozycje[i] = wymiary[i][1]; czyLepiej = cielib.czyCieplo(pozycje); if(czyLepiej == 1){ wymiary[i][0] = (wymiary[i][1] - wymiary[i][0])/2; } else{ int nowy = (wymiary[i][1] - wymiary[i][0])/2; wymiary[i][1] = nowy + shift; } pozycje[i] = (wymiary[i][0] + wymiary[i][1])/2; } if((wymiary[0][0] + 2 ) >= wymiary[0][1]){ czySprawdzac = false; } } for(int i = 0; i<d; i++) { pozycje[i] = wymiary[i][0]; int czyLepiej = cielib.czyCieplo(pozycje); pozycje[i] = wymiary[i][1]; czyLepiej = cielib.czyCieplo(pozycje); if(czyLepiej == 0) { pozycje[i] = wymiary[i][0]; czyLepiej = cielib.czyCieplo(pozycje); if(czyLepiej == 0) { pozycje[i] = (wymiary[i][1] - wymiary[i][0]) / 2; } } } cielib.znalazlem(pozycje); } } |