#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; } |
English