标签:
2 100[MB] 1[B]
Case #1: 4.63% Case #2: 0.00%Hint![]()
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
int xp=1;
while(t--){
double x=0;
char s[10];
scanf("%s",s);
int l=strlen(s);
char str[5];
int i;
for(i=0;;i++){
if(s[i]=='[')break;
x=x*10+(s[i]-'0');
}
int k=0;
for(int j=i+1;j<l-1;j++){
str[k++]=s[j];
}
str[k]='\0';
double sum=x;
int xn,dn;
if(str[0]=='B'){
sum=x;
}
else if(str[0]=='K'){
sum=sum*1000.0/1024.0;
}
else if(str[0]=='M'){
dn=xn=2;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
else if(str[0]=='G'){
dn=xn=3;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
else if(str[0]=='T'){
dn=xn=4;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
else if(str[0]=='P'){
dn=xn=5;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
else if(str[0]=='E'){
dn=xn=6;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
else if(str[0]=='Z'){
dn=xn=7;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
else if(str[0]=='Y'){
dn=xn=8;
while(xn--){
sum*=1000.0;
}
while(dn--){
sum/=1024.0;
}
}
double res=(x-sum)*100.0/x;
printf("Case #%d: %.2lf%%\n",xp++,res);
}
return 0;
}
版权声明:本文为博主原创文章,转载请注明出处。
HDOJ Hard Disk Drive 4788【2013成都区域赛H题-水】
标签:
原文地址:http://blog.csdn.net/ydd97/article/details/47146805