• 537 Artificial Intelligence?


    C++语言: Codee#25706
    001 /*
    002 +++++++++++++++++++++++++++++++++++++++
    003                 author: chm
    004 +++++++++++++++++++++++++++++++++++++++
    005 */
    006
    007
    008 #include <map>
    009 #include <set>
    010 #include <list>
    011 #include <queue>
    012 #include <cmath>
    013 #include <stack>
    014 #include <bitset>
    015 #include <cstdio>
    016 #include <cctype>
    017 #include <vector>
    018 #include <cstdlib>
    019 #include <cstring>
    020 #include <fstream>
    021 #include <sstream>
    022 #include <iomanip>
    023 #include <iostream>
    024 #include <algorithm>
    025
    026 using namespace std;
    027
    028 FILE*            fin         = stdin;
    029 FILE*            fout         = stdout;
    030 const int        max_size     = 10086;
    031
    032 double run(char* str, double& prefix)
    033 {
    034     char* pend;
    035     double p = strtod(str, &pend);
    036
    037     if(*pend == 'm')
    038         prefix = 0.001;
    039     else if( *pend == 'M')
    040         prefix = 1000000;
    041     else if(*pend == 'k')
    042         prefix = 1000;
    043     return p;
    044 }
    045
    046 int main()
    047 {
    048 #ifndef ONLINE_JUDGE
    049     freopen("c:\\in.txt", "r", stdin);
    050     fout = fopen("c:\\garage\\out.txt", "w");
    051 #endif
    052
    053     /*
    054        search P U I
    055        get prefix
    056        use formular
    057        */
    058     char str[max_size];
    059     int n;
    060     char* ptrp;
    061     char* ptru;
    062     char* ptri;
    063     double prefixp;
    064     double prefixu;
    065     double prefixi;
    066     double p, u, i;
    067
    068     scanf("%d\n", &n);
    069     for(int j = 1; j <= n; ++j)
    070     {
    071         fgets(str, sizeof(str), stdin);
    072         ptrp = strstr(str, "P=");
    073         ptru = strstr(str, "U=");
    074         ptri = strstr(str, "I=");
    075         prefixp = prefixu = prefixi = 1.0;
    076         fprintf(fout, "Problem #%d\n", j);
    077         if(ptrp)
    078         {
    079             p = run(ptrp + 2, prefixp);
    080             if(ptru)    // i = p / u
    081             {
    082                 u = run(ptru + 2, prefixu);
    083                 fprintf(fout, "I=%.2lfA\n\n", (prefixp / prefixu)* p / u);
    084             }
    085             else        // u = p / i
    086             {
    087                 i = run(ptri + 2, prefixi);
    088                 fprintf(fout, "U=%.2lfV\n\n",  (prefixp / prefixi) * p / i);
    089             }
    090         }
    091         else            // p = u * i
    092         {
    093             u = run(ptru + 2, prefixu);
    094             i = run(ptri + 2, prefixi);
    095             fprintf(fout, "P=%.2lfW\n\n", i * u * prefixi  * prefixu);
    096         }
    097     }
    098
    099 #ifndef ONLINE_JUDGE
    100     fclose(fout);
    101     system("c:\\garage\\check.exe");
    102 #endif
    103     return 0;
    104 }
  • 相关阅读:
    js高级程序设计 笔记 --- 引用类型
    es6 简单封装一个 省市县三级下拉框
    js中元素、触点等各种距离的总结
    css实现视觉差的滚动
    js的节流和防抖
    js关于原型,原型链的面试题
    深入理解promise
    vue 同一个组件的跳转, 返回时保留原来的下拉位置
    es6 封装一个登录注册的验证滑块
    洛谷P3203 [HNOI2010]弹飞绵羊(lct)
  • 原文地址:https://www.cnblogs.com/invisible/p/2375076.html
Copyright © 2020-2023  润新知