p8829求调
  • 板块学术版
  • 楼主npc000
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/25 20:54
  • 上次更新2023/12/25 21:40:39
查看原帖
p8829求调
1234029
npc000楼主2023/12/25 20:54
#include<bits/stdc++.h>
#pragma optimize(3)
using namespace std;
long long int y,z,a,b,c,i=0,j=1,k=0,n,m,sum=1,num=0,r,t=0;
bool flag;
char ch;
long double oo,pp,ss=0,x[5],s=0;
string aa; 
int f(int num)
{
	if(num==1)
		return 2;
	if(num==0)
		return 1;
	int t=f(num/2);
	if(num%2==0)
		return t*t;
	else	
		return t*t*2;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);	
	cin>>aa;
	if(aa[aa.size()-2]=='G')
	{
		for(i=0;;i++)
		{
			if(aa[i]<='9'&&aa[i]>='0')
			{
				t=int(aa[i]);
				switch(t)
				{
					case 48:x[i]=0;break;
					case 49:x[i]=1;break;					
					case 50:x[i]=2;break;
					case 51:x[i]=3;break;					
					case 52:x[i]=4;break;
					case 53:x[i]=5;break;					
					case 54:x[i]=6;break;
					case 55:x[i]=7;break;					
					case 56:x[i]=8;break;
					case 57:x[i]=9;break;						
				}				
			}
			else		
			{
				break;	
			}
		}
		switch(i)
		{
			case 1:s=x[0];break;
			case 2:s=x[0]*10+x[1];break;			
			case 3:s=x[0]*100+x[1]*10+x[2];break;			
			case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;			
		}
		if(aa[i]=='G')
		{
			cout<<s;
		}
		if(aa[i]=='M')
		{
			s/=1024;
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
		}		
		if(aa[i]=='K')
		{
			s=s/f(20);
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;				
		}
		if(aa[i]=='B')
		{
			s=s/f(30);			
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;					
		}				
	}
	if(aa[aa.size()-2]=='M')
	{
		for(i=0;;i++)
		{
			if(aa[i]<='9'&&aa[i]>='0')
			{
				t=int(aa[i]);
				switch(t)
				{
					case 48:x[i]=0;break;
					case 49:x[i]=1;break;					
					case 50:x[i]=2;break;
					case 51:x[i]=3;break;					
					case 52:x[i]=4;break;
					case 53:x[i]=5;break;					
					case 54:x[i]=6;break;
					case 55:x[i]=7;break;					
					case 56:x[i]=8;break;
					case 57:x[i]=9;break;						
				}				
			}
			else		
			{
				break;	
			}
		}
		switch(i)
		{
			case 1:s=x[0];break;
			case 2:s=x[0]*10+x[1];break;			
			case 3:s=x[0]*100+x[1]*10+x[2];break;			
			case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;			
		}
		if(aa[i]=='G')
		{
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*1024;
		}
		if(aa[i]=='M')
		{
			cout<<s;
		}		
		if(aa[i]=='K')
		{
			s=s/f(10);
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;				
		}
		if(aa[i]=='B')
		{
			s=s/f(20);			
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;					
		}		
	}	
	if(aa[aa.size()-2]=='K')
	{
		for(i=0;;i++)
		{
			if(aa[i]<='9'&&aa[i]>='0')
			{
				t=int(aa[i]);
				switch(t)
				{
					case 48:x[i]=0;break;
					case 49:x[i]=1;break;					
					case 50:x[i]=2;break;
					case 51:x[i]=3;break;					
					case 52:x[i]=4;break;
					case 53:x[i]=5;break;					
					case 54:x[i]=6;break;
					case 55:x[i]=7;break;					
					case 56:x[i]=8;break;
					case 57:x[i]=9;break;						
				}				
			}
			else		
			{
				break;	
			}
		}
		switch(i)
		{
			case 1:s=x[0];break;
			case 2:s=x[0]*10+x[1];break;			
			case 3:s=x[0]*100+x[1]*10+x[2];break;			
			case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;			
		}
		if(aa[i]=='G')
		{
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*f(20);
		}
		if(aa[i]=='M')
		{
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*1024;
		}		
		if(aa[i]=='K')
		{
			cout<<s;				
		}
		if(aa[i]=='B')
		{
			s=s/f(10);			
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;					
		}		
	}
	if(aa[aa.size()-2]=='?')
	{
		for(i=0;;i++)
		{
			if(aa[i]<='9'&&aa[i]>='0')
			{
				t=int(aa[i]);
				switch(t)
				{
					case 48:x[i]=0;break;
					case 49:x[i]=1;break;					
					case 50:x[i]=2;break;
					case 51:x[i]=3;break;					
					case 52:x[i]=4;break;
					case 53:x[i]=5;break;					
					case 54:x[i]=6;break;
					case 55:x[i]=7;break;					
					case 56:x[i]=8;break;
					case 57:x[i]=9;break;						
				}				
			}
			else		
			{
				break;	
			}
		}
		switch(i)
		{
			case 1:s=x[0];break;
			case 2:s=x[0]*10+x[1];break;			
			case 3:s=x[0]*100+x[1]*10+x[2];break;			
			case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;			
		}
		if(aa[i]=='G')
		{
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*f(30);
		}
		if(aa[i]=='M')
		{
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*f(20);
		}		
		if(aa[i]=='K')
		{
			cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*1024;				
		}
		if(aa[i]=='B')
		{		
			cout<<s;					
		}			
	}	
	return 0;

90分,第5个点WA,求调,悬棺!!

2023/12/25 20:54
加载中...