这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3082
注意一点: 比如:----12---- 这个是多少?是3吗?NO,是12. 所以要考虑两位数的阻值的情况。
#include
#include
using namespace std;
int nCases, nNum;
double circuit;;
int cnt;
int main()
{
string tmp;
scanf("%d", &nCases;);
while(nCases--)
{
circuit = 0.0;
scanf("%d", &nNum;);
for(int i=0; i> tmp;
cnt = 0;
for(int j=0; j='0' && tmp[j]<='9')
{
if(tmp[j+1]>='0' && tmp[j+1]<='9') // 单个阻值可能大于9,要考虑两位数
{
cnt += (tmp[j]-'0')*10 + (tmp[j+1]-'0');
++j;
}
else
cnt += tmp[j]-'0';
}
}
circuit += 1.0/cnt;
}
printf("%.2lf\n", 1.0/circuit);
}
return 0;
}