⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1064.cpp

📁 平时acm训练时ac的源代码
💻 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 + -