#include <iostream>
#include <vector>
#include "cielib.h"
using namespace std;
int r,d;
int high[501];
int low[501];
int mid[501];
int main()
{
d = podajD();
r = podajR();
for(int i=0;i<d;i++)
high[i] = r;
for(;;){
for(int i=0;i<d;i++){
mid[i] = (low[i] + high[i])/2;
if(mid[i] == 0 && high[i] != 0)
mid[i] = 1;
if(mid[i] == r && low[i] != r)
mid[i] = r-1;
}
/* for(int i=0;i<d;i++)
cout<<mid[i]<<" ";
cout<<endl;*/
czyCieplo(mid);
vector<int> repl(d);
for(int i=0;i<d;i++){
bool b1= false, b2 = false;
if(mid[i] < r){
mid[i]++;
b1 = czyCieplo(mid);
mid[i]--;
b2 = czyCieplo(mid);
if(b2 == true)
repl[i] += 2;
}
b1= false; b2 = false;
if(mid[i] > 0){
mid[i]--;
b1 = czyCieplo(mid);
mid[i]++;
b2 = czyCieplo(mid);
if(b2 == true)
repl[i] += 1;
}
}
int ct = 0;
for(int i=0;i<d;i++){
if(repl[i] == 3 || (mid[i] == r && repl[i] == 1) || (mid[i] == 0 && repl[i] == 2)) {/*cout<<"OBA"<<i<<endl;*/ct++;}
if(repl[i] >= 2){ high[i] = mid[i]-1;/*cout<<"Wymiar: "<<i<<" dol \n";*/}
if(repl[i] == 1 || repl[i] == 3) {low[i] = mid[i]+1; /*cout<<"Wymiar: "<<i<<" gora \n";*/}
}
if(ct == d)
znalazlem(mid);
}
return 0;
}
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 | #include <iostream> #include <vector> #include "cielib.h" using namespace std; int r,d; int high[501]; int low[501]; int mid[501]; int main() { d = podajD(); r = podajR(); for(int i=0;i<d;i++) high[i] = r; for(;;){ for(int i=0;i<d;i++){ mid[i] = (low[i] + high[i])/2; if(mid[i] == 0 && high[i] != 0) mid[i] = 1; if(mid[i] == r && low[i] != r) mid[i] = r-1; } /* for(int i=0;i<d;i++) cout<<mid[i]<<" "; cout<<endl;*/ czyCieplo(mid); vector<int> repl(d); for(int i=0;i<d;i++){ bool b1= false, b2 = false; if(mid[i] < r){ mid[i]++; b1 = czyCieplo(mid); mid[i]--; b2 = czyCieplo(mid); if(b2 == true) repl[i] += 2; } b1= false; b2 = false; if(mid[i] > 0){ mid[i]--; b1 = czyCieplo(mid); mid[i]++; b2 = czyCieplo(mid); if(b2 == true) repl[i] += 1; } } int ct = 0; for(int i=0;i<d;i++){ if(repl[i] == 3 || (mid[i] == r && repl[i] == 1) || (mid[i] == 0 && repl[i] == 2)) {/*cout<<"OBA"<<i<<endl;*/ct++;} if(repl[i] >= 2){ high[i] = mid[i]-1;/*cout<<"Wymiar: "<<i<<" dol \n";*/} if(repl[i] == 1 || repl[i] == 3) {low[i] = mid[i]+1; /*cout<<"Wymiar: "<<i<<" gora \n";*/} } if(ct == d) znalazlem(mid); } return 0; } |
English