소 토끼 구간 비밀번호
시간 제한: C / C + + 1 초, 기타 언어 2 초 공간 제한: C / C + + 32768 K, 기타 언어 65536 K 64bit IO 포맷:% lld
제목 설명
귀여운 토끼 한 마리 가 밀실 에 갇 혔 습 니 다. 밀실 에는 두 개의 숫자 가 있 고 또 한 줄 의 글자 가 있 습 니 다. 비밀 번 호 를 풀 어야 나 갈 수 있 습 니 다.귀여운 토끼 가 한참 을 더 듬 어 보 니 밀실 안의 두 숫자 는 한 구간 [L, R] 을 나타 내 는 것 이 고 비밀 번 호 는 이 구간 에서 두 개의 (같은 것 이 가능 한) 정 수 를 임의로 선택 한 후 이동 하거나 최대 치 였 다.예 를 들 어 구간 [2, 5] 을 주면 23, 45 가 있 는데 그 중에서 2 xor 5 = 7 이 가장 크 기 때문에 비밀 번 호 는 7 이다.토끼 는 즉시 밀실 문 을 풀 었 는데 문 밖 에 문 이 하나 있 고 숫자 가 점점 커지 는 것 을 발 견 했 습 니 다. 토끼 는 어 쩔 수 없 었 습 니 다. 그래서 도움 을 청 하 러 왔 습 니 다.알림: 이 진 다음 자리 에서 비교 하거나 같 으 면 0 이 다 르 면 1 예 를 들 어 2 = (010) 22 = (010) 25 = (101) 25 = (101) 2 그래서 2 xor 5 = (111) 2 = 75 = (111) 2 = 7
입력 설명:
T, 。
T , L,R, [L,R]。
출력 설명:
T , [L,R] 。
예시 1
입력
복제 하 다.
5
1 10
2 3
3 4
5 5
2 5
출력
복제 하 다.
15
1
7
0
7
비고:
30%
1 ≤ T ≤ 10
0 ≤ L ≤ R ≤ 100
10%
L=R
70%
1 ≤ T ≤ 10
0 ≤ L ≤ R ≤ 50000
100%
1 ≤ T ≤ 10000
0 ≤ L ≤ R ≤ 1018
( 100% ) , 。
방법 1:
#include
using namespace std;
long long a[65],l,r,sum,ans;
int main()
{
a[0]=1;
a[1]=3;
for(int i=2;i<=60;i++)
a[i]=a[i-1]*2+1;
int t;
scanf("%d",&t);
while(t--)
{
scanf("%lld %lld",&l,&r);
if(l==r) printf("0
");
else if(l%2==0&&l+1==r) cout<=a[i]&&l<=a[i+1])
{
sum=i+1;
break;
}
}
for(int i=0;;i++)
{
if(r>=a[i]&&r<=a[i+1])
{
ans=i+1;
break;
}
}
if(ans!=sum) cout<=r)
{
y=mid;
}
else
{
long long q=mid^(mid+1);
cout<
방법 2:
#include
using namespace std;
long long int t,l,r,ans;
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld %lld",&l,&r);
long long int x=l^r;
ans=0;
while(x)
{
ans=ans*2+1;
x/=2;
}
printf("%lld
",ans);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.