複習了一下stl,寫完才想起來可以用map,**量*3,orz
提交時遇到一次presentation error,oj的空格輸出實在是太隨性。
思路是分別對兩組輸入進行排序,再通過k1,k2兩個迭代器匯入新的容器
注意:容器為空時,begin()與end()返回相同
容器為空與容器不為空時,begin()返回不一致
需要進行操作的多項式中,存在0(即輸入僅包含乙個係數和乙個負項數,如:9 -7)和多組相同冪數的情況(12 7 -7 5 3 17 23 4 15 10 -10 5 13 5 2 19 9 -7)
vectora, b;view codevector
::const_iterator k1, k2;
if (a.begin() == a.end()) //
輸出1 cout << '1'
;
else
cout
<< '0'
;
if (a.begin() == b.begin()) //
輸出1 cout << '1'
;
else
cout
<< '0'
; k1 =a.begin();
a.push_back(5);
k2 =a.begin();
if (k1 == k2) //
輸出0 cout << '1'
;
else
cout
<< '
0';
1 #include 2 #include 3 #include 4map版本:using
namespace
std;
5class poly
10 poly(int a, int
b): coe(a), item(b){}
11 friend bool
operator
< (const poly &, const poly &);
12 friend poly operator + (const poly &, const poly &);
13};
14bool
operator
< (const poly &a, const poly &b)
20 poly operator + (const poly &a, const poly &b)
23void insert_num(vector&x)33}
34int
main()
56else
if ((*k1).item > (*k2).item)
63else
71}72else
if (k1 < p1.end() && k2 ==p2.end())81}
82else
if (k1 == p1.end() && k2
92else
93break;94
}95for (k3 = p3.begin(); k3 < p3.end(); k3++)
99 cout <
100p1.clear();
101p2.clear();
102p3.clear();
103}
104return0;
105 }
1 #include 2 #include 3using
namespace
std;
4int
main()17}
18 map::reverse_iterator k; //
reverse_iterator反向迭代,正向迭代使用const_iterator
19for (k = pl.rbegin(); k != pl.rend(); k++)
24 cout <
25pl.clear();26}
27return0;
28 }
多項式加法
題目內容 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程式要處理的冪最大為100。輸入格式 總共要輸入兩個多項式,每個多項式的輸入格式如下 每行輸入兩個數字,第乙個表示冪次,第二個表示該冪次的係數...
多項式加法
題目內容 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 2x6 3x5 12x3 6x 20 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程式要處理的冪最大為100。輸入格式 總共要輸入兩個多項式,每個多項式的輸入格式如下 每行輸入兩個數字,...
多項式加法
給定兩個多項式p x 與q x 通過鍊錶實現它們的加法。有若干組,每組有2個多項式。每組輸入時先輸入第1個多項式,再輸入第2個多項式。每組用若干對整數表示,依序每兩個相鄰的整數表示多項式的一項,分別是它的係數和冪。當輸入的冪為負數時,表示乙個多項式的結束。乙個多項式中各項的次序是隨機的。對每組中兩個...