537 - Artificial Intelligence?

原创 2011年01月09日 12:47:00

Artificial Intelligence? 

Physics teachers in high school often think that problems given as text are more demanding than pure computations. After all, the pupils have to read and understand the problem first!

So they don't state a problem like ``U=10V, I=5A, P=?" but rather like ``You have an electrical circuit that contains a battery with a voltage of U=10V and a light-bulb. There's an electrical current of I=5A through the bulb. Which power is generated in the bulb?".

However, half of the pupils just don't pay attention to the text anyway. They just extract from the text what is given: U=10V, I=5A. Then they think: ``Which formulae do I know? Ah yes, P=U*I. Therefore P=10V*5A=500W. Finished."

OK, this doesn't always work, so these pupils are usually not the top scorers in physics tests. But at least this simple algorithm is usually good enough to pass the class. (Sad but true.)

Today we will check if a computer can pass a high school physics test. We will concentrate on the P-U-I type problems first. That means, problems in which two of power, voltage and current are given and the third is wanted.

 


Your job is to write a program that reads such a text problem and solves it according to the simple algorithm given above.

 

Input 

The first line of the input file will contain the number of test cases.

Each test case will consist of one line containing exactly two data fields and some additional arbitrary words. A data field will be of the form I=xA, U=xV or P=xW, where x is a real number.

Directly before the unit (A, V or W) one of the prefixes m (milli), k (kilo) and M (Mega) may also occur. To summarize it: Data fields adhere to the following grammar:

 

DataField ::= Concept '=' RealNumber [Prefix] Unit
Concept   ::= 'P' | 'U' | 'I'
Prefix    ::= 'm' | 'k' | 'M'
Unit      ::= 'W' | 'V' | 'A'

Additional assertions:

 

  • The equal sign (`=') will never occur in an other context than within a data field.
  • There is no whitespace (tabs,blanks) inside a data field.
  • Either P and U, P and I, or U and I will be given.

 

Output 

For each test case, print three lines:

 

  • a line saying ``Problem #k" where k is the number of the test case
  • a line giving the solution (voltage, power or current, dependent on what was given), written without a prefix and with two decimal places as shown in the sample output
  • a blank line

 

Sample Input 

 

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?

 

Sample Output 

 

Problem #1
P=900.00W

Problem #2
I=0.45A

Problem #3
U=1250000.00V

 

 


Miguel A. Revilla
1999-01-11

UvaOJ 537 - Artificial Intelligence?

题目 字符串处理 有个地方不知道为什么那样会wa,详见注释。 另外我采用的是一行读入,然后进行字符串parse,比较麻烦。 可以采用istringstream或sscanf等,从字符串...
  • tclh123
  • tclh123
  • 2012年04月09日 21:50
  • 580

uva 537 - Artificial Intelligence?

Physics teachers in high school often think that problems given as text are more demanding than pure...

uva537 Artificial Intelligence?(字符串转化为浮点数)

题目请戳这里 题目大意: 给一行字符串,从中分析出P,U,I中的两个,根据P = UI求出剩下一个是多少,需要注意的是,数字可能是浮点数,且有可能跟着m,M或k的后缀。思路: 写这个题解关键在于...

uva 537 Artificial Intelligence?

简单字符串处理题目 #include #include #define MAX_LEN 1000 char buffer[MAX_LEN]; int case_count; voi...

Uva 537 Artificial Intelligence?(Java正则表达式)

Artificial Intelligence?  Physics teachers in high school often think that problems given as te...

UVA-537 - Artificial Intelligence?

这道题目做了至少有两个小时,郁闷~   寻找题目中的两个“=”,记录每一个“=”前面的标志(P,I,U),后面的数字。   运用数组存P,U,I的值,shu['P']存P的值,shu['I']...

UVa 537 - Artificial Intelligence?解题报告

题目思路很简单,就是在一串字符中把数字提取出来转化为浮点型。关键就是字符串转数字的函数。c有自带的atof可以用,但是我用了觉得不方便,因为需要它只能针对全是数字字符的字符串,遇到字母和空字符会返回0...

UVA之537 - Artificial Intelligence?

Artificial Intelligence?  Physics teachers in high school often think that problems giv...

UVa 537 - Artificial Intelligence?

#include #include int main() { int i,j,n,l,k1,k2,k3,x,flag1,flag2,flag3,flag4,z,key; char s1[100...

537 - Artificial Intelligence未通过

//未通过,重点掌握:istringstream的用法。 //整形和getline()或者(fgets())结合使用时要用getchar()来做区别 /*#include #include #i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:537 - Artificial Intelligence?
举报原因:
原因补充:

(最多只允许输入30个字)