Blog·Tanky WooABOUTRSS

HDOJ 3082 Simplify The Circuit

07 Aug 2010
这篇博客是从旧博客 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;
 }