Pagini recente » Cod sursa (job #2027360) | Cod sursa (job #1078152) | Cod sursa (job #1416991) | Cod sursa (job #130594) | Cod sursa (job #1429808)
#include <fstream>
#define DIM 5000010
using namespace std;
ifstream fin ("pascal.in" );
ofstream fout("pascal.out");
int N, M, i, j, K, ok, D[DIM], S, nr;
void SetUp(){
fin >> N >> S;
N ++;
return;
}
void Divide(int st, int dr){
int K = dr - st + 1;
if(K == 1){
D[st] = 1;
D[dr] = 1;
return;
}
int i = 0;
while((1<<i) < K)
i ++;
i --;
int val = K - (1<<i);
Divide(st, st + val - 1);
Divide(dr - val + 1, dr);
return;
}
void Finish(){
for(i = 1; i <= N; i ++)
if(nr += !D[i]);
fout << nr;
return;
}
int main(){
SetUp();
if(S == 2)
Divide(1, N);
Finish();
return 0;
}