#include "cielib.h"
#define MAX_D 510
int D, R;
int E[MAX_D], dl[MAX_D], dr[MAX_D];
int main() {
D = podajD();
R = podajR();
for (int i = 0; i < D; ++i) {
dl[i] = 0;
dr[i] = R;
E[i] = R / 2;
}
while (dr[0] - dl[0] > 1) {
for (int i = 0; i < D; ++i) {
int cm = E[i];
int dd = dr[i] - cm;
E[i] = dl[i];
czyCieplo(E);
E[i] = dr[i];
if (czyCieplo(E)) {
dl[i] = dr[i] - dd;
} else {
dr[i] = dl[i] + dd;
}
E[i] = (dl[i] + dr[i]) / 2;
}
}
for (int i = 0; i < D; ++i) {
if (dl[i] > 0) {
E[i] = dl[i] - 1;
czyCieplo(E);
E[i] = dr[i];
if (!czyCieplo(E)) {
--E[i];
}
} else {
E[i] = dr[i] + 1;
czyCieplo(E);
E[i] = dl[i];
if (!czyCieplo(E)) {
++E[i];
}
}
}
znalazlem(E);
}
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 | #include "cielib.h" #define MAX_D 510 int D, R; int E[MAX_D], dl[MAX_D], dr[MAX_D]; int main() { D = podajD(); R = podajR(); for (int i = 0; i < D; ++i) { dl[i] = 0; dr[i] = R; E[i] = R / 2; } while (dr[0] - dl[0] > 1) { for (int i = 0; i < D; ++i) { int cm = E[i]; int dd = dr[i] - cm; E[i] = dl[i]; czyCieplo(E); E[i] = dr[i]; if (czyCieplo(E)) { dl[i] = dr[i] - dd; } else { dr[i] = dl[i] + dd; } E[i] = (dl[i] + dr[i]) / 2; } } for (int i = 0; i < D; ++i) { if (dl[i] > 0) { E[i] = dl[i] - 1; czyCieplo(E); E[i] = dr[i]; if (!czyCieplo(E)) { --E[i]; } } else { E[i] = dr[i] + 1; czyCieplo(E); E[i] = dl[i]; if (!czyCieplo(E)) { ++E[i]; } } } znalazlem(E); } |
English