基础实验3-2.1 一元多项式求导
分数 20
全屏浏览
切换布局
作者 DS课程组
单位 浙江大学
设计函数求一元多项式的导数。
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
注意:零多项式用 0 0
表示。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
注意:本题在运行时按下 Enter 回车键程序还再运行,需要按下 Ctrl + C 才可以显示最终运行结果!!!
// 2025/1/4 OK
#include <bits/stdc++.h>using namespace std;map<int, int> mp, res;int main()
{int x, y;while (scanf("%d", &x) != EOF) {scanf("%d", &y);mp[y] = x;}for (const pair<int, int>& t: mp) {if (t.first == 0) continue;res[t.first - 1] = t.second * t.first;} int flag = 0;if (res.empty()) {cout << "0 0";return 0;}map<int, int>::reverse_iterator it;for (it = res.rbegin(); it != res.rend(); it ++) {if (!flag) {cout << it->second << " " << it->first;flag = 1;} else {cout << " " << it->second << " " << it->first;}}return 0;
}