POJ1060
2016-07-26 17:25
295 查看
问题描述:多项式运算,此题涉及多项的加法、减法、乘法、取模四大运算。最后将多项式的计算结果表达式输出。
解题思路:对多项式的系数采用一维数组输入,对于多项式的次数,用数组下标的大小对应表示。注意:这里为了编写思路的方便,直接将输入的系数按数组从小到大存放,最后进行运算的时候,需要再加以变换。
code(c)
解题思路:对多项式的系数采用一维数组输入,对于多项式的次数,用数组下标的大小对应表示。注意:这里为了编写思路的方便,直接将输入的系数按数组从小到大存放,最后进行运算的时候,需要再加以变换。
code(c)
#include <stdio.h> #include<string.h> #define MAX 10010 int f[MAX],g[MAX],h[MAX],temp[MAX]; int main() { int n; scanf("%d",&n); while(n--) { int i,j,x,mul,imax,a; memset(h,0,sizeof(h)); memset(temp,0,sizeof(temp)); scanf("%d",&f[0]); for(i=1;i<=f[0];i++) scanf("%d",&f[i]); scanf("%d",&g[0]); for(i=1;i<=g[0];i++) scanf("%d",&g[i]); scanf("%d",&h[0]); for(i=1;i<=h[0];i++) scanf("%d",&h[i]); imax=0; for(i=1;i<=f[0];i++) { if(f[i]==1) for(j=1;j<=g[0];j++) { if(g[j]==1) { mul=(f[0]+1-i)+(g[0]+1-j)-1; temp[mul]++; if(temp[mul]%2==0) temp[mul]=0; } } } for(i=1;i<MAX;i++) { if(temp[i]==1) imax=i; } temp[0]=imax; a=imax; while(imax>=h[0]) { x=imax-h[0]; for(j=1;j<=h[0];j++) { if(h[j]==1) { temp[h[0]-j+1+x]--; if(temp[h[0]-j+1+x]==-1) temp[h[0]-j+1+x]=1; } } for(i=1;i<=a;i++) { if(temp[i]==1) { imax=i; temp[0]=i; } } } printf("%d ",temp[0]); for(i=temp[0];i>=1;i--) printf("%d ",temp[i]); printf("\n"); } return 0; }
相关文章推荐
- js获取URL中传来的参数
- PyGobject(二十二)布局容器之Frame
- 调用安卓手机相册和拍照,出现闪退,原因是创建的包名有问题。
- PHP高级程序员必学
- 【算法】二分查找——与答案进行比较的思维
- cocos2dx google升级libpng
- git的使用
- React Native加载网络图片失败
- WebView与Html交互,获取点击事件,并处理响应逻辑
- POJ 1426 Find The Multiple
- 圆周率 π 的研究
- 需要Device.dll 时,添加后显示 无法找到PInvoke DLL Device.dll
- LeetCode344. Reverse String
- HDU 3368 Reversi
- HDOJ-2141 Can you find it?
- Java学习总结-反射
- 纳雷科技周坤明:毫米波雷达的开发与应用技术
- 使用字典存储事件实例(C# 编程)
- android开发万能圆角ImageView
- haproxy- 2016-0726