90分求救!
查看原帖
90分求救!
813946
luoguzjy2022楼主2024/8/1 20:41
#include<bits/stdc++.h>
using namespace std;
int ant;
int main(){
    string a;
	cin>>a;
	char x,y;
	for(int i=0;i<a.length();i++){
		if(a[i]>='0'&&a[i]<='9'){
			ant=ant*10+a[i]-'0';
		}
		if(a[i]=='='){
			if(a[i-2]>='0'&&a[i-2]<='9')x=a[i-1];
			else x=a[i-2];
			
		}
		if(a[i]=='?'){
			y=a[i+1];
		}
	}
//	cout<<ant<<endl;
	long long w1,w2,w3;
	w1=pow(2,10);
	w2=pow(2,20);
	w3=pow(2,30);
	if(x=='G'){
		if(y=='M')printf("%.6f",ant*(1.000000)*w1);
		if(y=='K')printf("%.6f",ant*(1.000000)*w2);
		if(y=='B')printf("%.6f",ant*(1.000000)*w3);
	}
	if(x=='M'){
		if(y=='G')printf("%.6f",ant*(1.000000)/w1);
		if(y=='K')printf("%.6f",ant*(1.000000)*w1);
		if(y=='B')printf("%.6f",ant*(1.000000)*w2);
	}
	if(x=='K'){
		if(y=='G')printf("%.6f",ant*(1.000000)/w2);
		if(y=='M')printf("%.6f",ant*(1.000000)/w1);
		if(y=='B')printf("%.6f",ant*(1.000000)*w1);
	}
	if(x=='B'){
		if(y=='G')printf("%.6f",ant*(1.000000)/w3);
		if(y=='M')printf("%.6f",ant*(1.000000)/w2);
		if(y=='K')printf("%.6f",ant*(1.000000)/w1);
	}
	return 0;
}
2024/8/1 20:41
加载中...