QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#383970#6749. TargetTeiosama#TL 0ms3812kbC++17910b2024-04-09 19:24:282024-04-09 19:24:29

Judging History

你现在查看的是最新测评结果

  • [2024-04-09 19:24:29]
  • 评测
  • 测评结果:TL
  • 用时:0ms
  • 内存:3812kb
  • [2024-04-09 19:24:28]
  • 提交

answer

#include<bits/stdc++.h>
#include<unordered_map>
using namespace std;
int main()
{
	double a,b;
	cin>>a>>b;
	double a1=a;
	int ans[60]={0};
	int cnt = 0;
	int ww=0;
	int flag=0;
	if(b==0.5)
	{
		for(int i=1;i<=49;++i)cout<<"2";
		cout<<"1";
		return 0;
	}
	while(fabs(a-b)>0.0001)
	{
		ww++;
		if(ww>50)
		{
			flag=1;break;
		}
      //cout<<"di"<<ww<<"ci  ";
		if(a>b)
		{
			a*=0.5;
			//a*=0.5;
			//ans[cnt++] = 1;
			ans[cnt++] = 1;
		}
		else
		{
			a = a*0.5+0.5;
			//a = a*0.5+0.5;
			ans[cnt++] = 2;//ans[cnt++] = 2;
		}
		//cout<<fixed<<setprecision(6)<<a<<'\n';
	}
	if(flag==0)
	{
	for(int i = 0;i<cnt;i++)
	{
		cout<<ans[i];
	}
	cout<<endl;
	}
	else{
while(fabs(a1-b)>0.0001)
	{
	if(a1>b)
	{
		a1=a1/2+0.5;
		cout<<"2";
		a1/=2;
		cout<<"1";
	}
		else{
			a1/=2;
			cout<<"1";
			a1=a1/2+0.5;
			cout<<"2";
		}
	}
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3732kb

input:

0.5 0.25

output:

1

result:

ok ok

Test #2:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

1 0.75

output:

12

result:

ok ok

Test #3:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

1 0

output:

11111111111111

result:

ok ok

Test #4:

score: -100
Time Limit Exceeded

input:

0.361954 0.578805

output:

122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221...

result: