1002. A+B for Polynomials (25)

http://pat.zju.edu.cn/contests/pat-a-practise/1002

題目本身簡單。。不過要注意:輸出的時候 如果合併後係數爲0  , 就不要輸出這項,還有就是係數保留一位小數。


#include<iostream>

#include<iomanip>
using namespace std;
int main()
{
float a[1001] = {0};
int b[1001] = {0};
bool c[1001] = {0};
int n , tmp , count_, max_;
float ftmp;
cin >>n;
count_ = max_ = 0 ;
for(int i = 0 ; i < n ; i ++)
{
cin>> tmp >> ftmp;
b[i] = tmp;
a[b[i]] += ftmp;
c[b[i]] = 1;
if(b[i] > max_)max_=b[i];
count_++;
}
cin >> n;
for(int i = 0 ; i < n ; i ++)
{
cin>> tmp >> ftmp;
b[i] = tmp;
a[b[i]] += ftmp;
if(b[i] > max_)max_=b[i];
if(!c[b[i]])
{
count_++;
c[b[i]] = 1;
}
if(a[b[i]] == 0 )
{
count_ --;
c[b[i]] = 0 ;
}
}
cout << count_;
for(int i = max_ ; i >= 0 ; i--)
{
if(c[i])
cout << ' '<< i << ' '<<fixed << setprecision(1) << a[i];
}
return 0;
}
發佈了25 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章