ZJU PAT 1002 A+B for Polynomials

This time, you are supposed to find A+B where A and B are two polynomials.

Input

Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N1 aN1 N2 aN2 ... NK aNK, where K is the number of nonzero terms in the polynomial, Ni and aNi (i=1, 2, ..., K) are the exponents and coefficients, respectively. It is given that 1 <= K <= 10,0 <= NK < ... < N2 < N1 <=1000.

 

Output

For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate to 1 decimal place.

Sample Input
2 1 2.4 0 3.2
2 2 1.5 1 0.5
Sample Output
3 2 1.5 1 2.9 0 3.2
 1 dict1 = {}
 2 for i in range(2):
 3     list1 = raw_input().split()
 4     for j in range(int(list1[0])):
 5         a = int(list1[j*2+1])
 6         b = float(list1[j*2+2])
 7         if a in dict1.keys():
 8             dict1[a] += b
 9             if abs(dict1[a]) < 0.00001:
10                 del(dict1[a])
11         else:
12             dict1[a] = b
13 print len(dict1),
14 items = dict1.keys()
15 items.sort()
16 for item in reversed(items):
17     print "%d %.1f" % (item, dict1[item]),

 写出来的python怎么看都像c,没python的感觉。老了老了接受不了新事物了

posted @ 2013-01-17 11:24  S.Zhang  阅读(556)  评论(0编辑  收藏  举报