PAT Advanced level 1002. A+b for polynomials
Java code:
Import Java.util.Iterator;
Import Java.util.Scanner;
Import Java.util.Stack;
Import Java.util.TreeMap;
public class Main {public static void Main (string[] arg) {Scanner sc =new Scanner (system.in);
String[] line1 =sc.nextline (). Trim (). Split ("");
String[] line2 =sc.nextline (). Trim (). Split ("");
int K1 =integer.parseint (line1[0]);
int K2 =integer.parseint (line2[0]);
treemap<integer,double> map =new treemap<integer,double> ();
for (int i=1;i<k1*2+1;i+=2) {int key =integer.valueof (line1[i]);
Double value=double.valueof (line1[i+1]);
Map.put (key, value);
for (int i=1;i<k2*2+1;i+=2) {int key = Integer.valueof (Line2[i]);
Double value = double.valueof (line2[i+1]);
if (Map.containskey (key)) {value + = Map.get (key); if (Math.Abs (value) <=0.00001) {map.remove (key);
Attention...
} else{value= Math.Round (value*10)/10.0; Map.put (key, value);
} else{value= Math.Round (value*10)/10.0;
Map.put (key, value);
} iterator<integer> it =map.keyset (). iterator ();
stack<integer> stack =new stack<integer> ();
while (It.hasnext ()) {Stack.push (It.next ()); } System.out.print (Map.size ());
The output also notes while (!stack.isempty ()) {System.out.print ("" +stack.peek ());
System.out.print ("" +map.get (Stack.pop ()));
}
}
}