02-線性結構2 一元多項式的乘法與加法運算(20 分)
設計函式分別求兩個一元多項式的乘積與和。
輸入格式:
輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出格式:
輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0。
輸入樣例:
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1
輸出樣例:
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0
思路
先儲存 兩組資料
可以用結構體 也可以直接用 pair
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define clr(a) memset(a, 0, sizeof(a))
using
namespace
std;
typedef
long
long ll;
typedef
long
double ld;
typedef
unsigned
long
long ull;
typedef pair pii;
typedef pair pll;
typedef pair psi;
typedef pair pss;
const
double pi = 3.14159265358979323846264338327;
const
double e = exp(1);
const
double eps = 1e-6;
const
int inf = 0x3f3f3f3f;
const
int maxn = 1e3 + 5;
const
int mod = 1e9 + 7;
pii a[maxn], b[maxn];
int main()
}for (int i = 0; i < n; i++)
ans_add[a[i].second] += a[i].first;
for (int i = 0; i < m; i++)
ans_add[b[i].second] += b[i].first;
int flag = 0;
map::iterator it;
if (ans_time.size())
for (it = ans_time.end(), it--; ; it--)
if (it == ans_time.begin())
break;
}if (flag == 0)
printf("0 0");
cout
<< endl;
flag = 0;
if (ans_add.size())
for (it = ans_add.end(), it--; ; it--)
if (it == ans_add.begin())
break;
}if (flag == 0)
printf("0 0");
cout
<< endl;
}
線性結構2 一元多項式的乘法與加法運算
輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0。4 3 4 5 2...
線性結構2 一元多項式的乘法與加法運算
02 線性結構2 一元多項式的乘法與加法運算 20 分 設計函式分別求兩個一元多項式的乘積與和。輸入格式 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 輸出分2行,分別以指數遞降方式輸出乘積多...
線性結構 一元多項式的乘法與加法運算
設計函式分別求兩個一元多項式的乘積與和。輸入格式 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但...