社区讨论

90分求救!

P8829[传智杯 #3 练习赛] 单位转换参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lzb9oz4h
此快照首次捕获于
2024/08/01 20:43
2 年前
此快照最后确认于
2024/08/01 21:46
2 年前
查看原帖
CPP
#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;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...