📄 1064.cpp
字号:
#include <iostream.h>
int bi ,bl;
int A[10001];
void bsearch(int x ,int N);
int main()
{
int I,L,N;
int j,flag,min,max,num,ok,k;
int b[10002]={0};
cin>>I>>L;
for(j=0;j<10001;j++)
A[j]=j;
for(N=I;N<10001;N++)
{
bi=0;
bl=0;
bsearch(I,N);
if(bi==I&&bl==L) b[N]=1;
}
num=0;
for(j=0;j<10001;j++)
{
if(b[j]==1)
{
if(b[j+1]==0) num++;
}
}
cout<<num<<endl;
ok=0;
for(k=0;k<num;k++)
{
flag=0;
for(j=0;j<10001;j++)
{
if(b[j]==1&&flag==0)
{
min=j;
if(b[j+1]==1) b[j]=0;
flag=1;
}
if(b[j]==1&&flag==1)
if(b[j+1]==0)
{
max=j;
b[j]=0;
ok=1;
}
else b[j]=0;
if(ok)
{
cout<<min<<' '<<max<<endl;
ok=0;
break;
}
}
}
}
void bsearch(int x ,int N)
{
int p, q;
p = 0; /* Left border of the search */
q = N-1; /* Right border of the search */
bl = 0; /* Comparison counter */
while (p <= q) {
bi = (p + q) / 2;
++bl;
if (A[bi] == x) {
return;
}
if (x < A[bi])
q = bi - 1;
else
p = bi + 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -