news 2026/6/19 22:27:49

UVa 537 Artificial Intelligence

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UVa 537 Artificial Intelligence

题目描述

题目要求从文本中提取两个物理量(电压UUU、电流III、功率PPP)的值,并计算第三个未知量。公式为P=U×IP = U \times IP=U×I。输入中包含可能的前缀(m\texttt{m}m毫、k\texttt{k}k千、M\texttt{M}M兆)。输出计算结果,保留两位小数。

输入格式

第一行一个整数nnn,表示测试用例的数量。每个测试用例一行文本,包含恰好两个数据字段(格式如P=100WU=200VI=4.5A),以及一些额外单词。输入保证等号只在数据字段中出现。

输出格式

对于每个测试用例,输出Problem #k,然后输出计算结果(格式如P=900.00WI=0.45AU=1250000.00V),最后输出一个空行。

样例

输入

3 If the voltage is U=200V and the current is I=4.5A, which power is generated? A light-bulb yields P=100W and the voltage is U=220V. Compute the current, please. bla bla bla lightning strike I=2A bla bla bla P=2.5MW bla bla voltage?

输出

Problem #1 P=900.00W Problem #2 I=0.45A Problem #3 U=1250000.00V

题目分析

本题的核心是从文本中解析出数据字段,并根据公式计算未知量。

解析方法

对于每个数据字段,定位P=U=I=,然后提取等号后面的数字和单位。数字可能包含正负号、小数点。单位可能带有前缀(mkM)。将数值转换为标准单位(即乘以相应前缀因子)。

计算

  • 若已知PPPUUU,则I=P/UI = P / UI=P/U
  • 若已知PPPIII,则U=P/IU = P / IU=P/I
  • 若已知UUUIII,则P=U×IP = U \times IP=U×I

输出

按指定格式输出,保留两位小数。

复杂度分析

每个测试用例只需解析一行文本,O(L)O(L)O(L)

代码实现

// Artificial Intelligence?// UVa ID: 537// Verdict: Accepted// Submission Date: 2016-08-10// UVa Run Time: 0.000s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intmain(intargc,char*argv[]){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);string line;getline(cin,line);intn=stoi(line);for(intcases=1;cases<=n;cases++){cout<<"Problem #"<<cases<<'\n';vector<char>keys={'P','U','I'};map<char,double>values={{'P',-1.0},{'U',-1.0},{'I',-1.0}};map<char,double>units={{'m',0.001},{'k',1000.0},{'M',1000000.0}};getline(cin,line);for(autokey:keys){string target="=";target.insert(target.begin(),key);intstart=line.find(target);if(start!=line.npos){string block;for(inti=start;i<line.length();i++){if(!isblank(line[i]))block+=line[i];elsebreak;}string number;for(inti=2;i<block.length();i++)if(isdigit(block[i])||block[i]=='.'||block[i]=='+'||block[i]=='-')number+=block[i];elsebreak;values[key]=stod(number);for(autounit:units)if(block.find(unit.first)!=block.npos){values[key]*=unit.second;break;}}}if(values['P']>=0&&values['U']>0)cout<<"I="<<fixed<<setprecision(2)<<(values['P']/values['U'])<<"A\n\n";elseif(values['P']>=0&&values['I']>0)cout<<"U="<<fixed<<setprecision(2)<<(values['P']/values['I'])<<"V\n\n";elsecout<<"P="<<fixed<<setprecision(2)<<(values['U']*values['I'])<<"W\n\n";}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 22:26:59

大型语言模型中的个性化检索技术:双路径机制解析

1. 大型语言模型中的个性化检索技术概述在当今人工智能应用中&#xff0c;大型语言模型(LLM)已成为处理自然语言任务的核心技术。然而&#xff0c;标准LLM的一个显著局限是缺乏对特定用户的长期记忆和个性化理解。想象一下&#xff0c;当你与智能助手讨论健康管理时&#xff0c…

作者头像 李华
网站建设 2026/6/19 22:25:15

掌握gInk屏幕标注:免费开源工具的终极使用指南

掌握gInk屏幕标注&#xff1a;免费开源工具的终极使用指南 【免费下载链接】gInk An easy to use on-screen annotation software inspired by Epic Pen. 项目地址: https://gitcode.com/gh_mirrors/gi/gInk gInk是一款简单易用的Windows屏幕标注软件&#xff0c;专为提…

作者头像 李华
网站建设 2026/6/19 22:21:11

物联网时序数据清理实战:lotvacuum系统设计与数据库优化

1. 项目概述&#xff1a;从“lotvacuum”看物联网设备数据的高效清理最近在折腾一个物联网项目&#xff0c;后台数据库里塞满了各种传感器上报的实时数据&#xff0c;日积月累&#xff0c;数据量膨胀得吓人。老板天天盯着服务器账单发愁&#xff0c;运维同事也抱怨查询越来越慢…

作者头像 李华
网站建设 2026/6/19 22:06:16

互信息:机器学习工程师的信息显微镜

1. 这不是数学课&#xff0c;是机器学习工程师的“信息显微镜”你有没有遇到过这样的情况&#xff1a;模型在训练集上准确率98%&#xff0c;一到验证集就掉到72%&#xff1b;或者特征工程做了十几版&#xff0c;AUC提升却卡在0.85再也上不去&#xff1b;又或者调试一个分类器时…

作者头像 李华
网站建设 2026/6/19 22:02:44

MC68HC11A8微控制器寻址模式与指令集深度解析

1. 项目概述&#xff1a;为什么需要深入理解MC68HC11A8的寻址与指令如果你正在或曾经接触过基于Motorola 68HC11系列微控制器的嵌入式项目&#xff0c;无论是老旧的工业控制板、汽车电子模块&#xff0c;还是某些经典的机器人控制器&#xff0c;那么“寻址模式”和“指令集”这…

作者头像 李华