#include<bits/stdc++.h> #include "cielib.h" using namespace std; int las = -1, n, k, r, szuk[1010], pocz[1010], kon[1010], t[1010], x, y, licz; bool blad; int main() { n = podajD(); k = podajK(); r = podajR(); for( int a = 0; a < n; a++ )kon[a] = r; for( int a = 0; a < n; a++ )t[a] = ( pocz[a] + kon[a] ) / 2; while( 1 ) { blad = 0; for( int a = 0; a < n; a++ ) { if( pocz[a] != kon[a] ) { if( kon[a] == pocz[a]+1 ) { if( kon[a] == r ) { t[a] = pocz[a]-1; x = czyCieplo(t); t[a] = kon[a]; x = czyCieplo(t); if( x )pocz[a] = kon[a]; else kon[a] = pocz[a]; } else { t[a] = kon[a]+1; x = czyCieplo(t); t[a] = pocz[a]; x = czyCieplo(t); if( x )kon[a] = pocz[a]; else pocz[a] = kon[a]; } t[a] = pocz[a]; } else { t[a] = kon[a]; x = czyCieplo( t ); t[a] = pocz[a]; x = czyCieplo( t ); if( x ) { if( (pocz[a]+kon[a])%2 )kon[a] = ( ( pocz[a] + kon[a] ) / 2 ) + 1; else kon[a] = ( pocz[a] + kon[a] ) / 2; } else pocz[a] = ( pocz[a] + kon[a] ) / 2; t[a] = ( pocz[a] + kon[a] ) / 2; blad = 1; } } } if( !blad )break; } znalazlem(pocz); 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 63 64 | #include<bits/stdc++.h> #include "cielib.h" using namespace std; int las = -1, n, k, r, szuk[1010], pocz[1010], kon[1010], t[1010], x, y, licz; bool blad; int main() { n = podajD(); k = podajK(); r = podajR(); for( int a = 0; a < n; a++ )kon[a] = r; for( int a = 0; a < n; a++ )t[a] = ( pocz[a] + kon[a] ) / 2; while( 1 ) { blad = 0; for( int a = 0; a < n; a++ ) { if( pocz[a] != kon[a] ) { if( kon[a] == pocz[a]+1 ) { if( kon[a] == r ) { t[a] = pocz[a]-1; x = czyCieplo(t); t[a] = kon[a]; x = czyCieplo(t); if( x )pocz[a] = kon[a]; else kon[a] = pocz[a]; } else { t[a] = kon[a]+1; x = czyCieplo(t); t[a] = pocz[a]; x = czyCieplo(t); if( x )kon[a] = pocz[a]; else pocz[a] = kon[a]; } t[a] = pocz[a]; } else { t[a] = kon[a]; x = czyCieplo( t ); t[a] = pocz[a]; x = czyCieplo( t ); if( x ) { if( (pocz[a]+kon[a])%2 )kon[a] = ( ( pocz[a] + kon[a] ) / 2 ) + 1; else kon[a] = ( pocz[a] + kon[a] ) / 2; } else pocz[a] = ( pocz[a] + kon[a] ) / 2; t[a] = ( pocz[a] + kon[a] ) / 2; blad = 1; } } } if( !blad )break; } znalazlem(pocz); return 0; } |