poj 1060
http://poj.org/problem?id=1060
题意:多项式的运算的题目,不过这个运算有个特点,就是只要是同项的多项式,无论相加还是相减,都为0,给你三个多项式,分别为a,b,c。
要你求(a*b)%c。
思路:首先吧a*b算出来,然后,求某个项数乘以c会等于a*b的,然后把a*b的最大的幂降到c以下,求出来的就是答案。
#include <stdio.h>
#include <iostream>
#include <string.h> #define me(x) memset(x,0,sizeof(x)) int a[],b[],c[],d[]; int main()
{
int n,ade,bde,cde,dde;
scanf("%d",&n);
while(n--)
{
me(a),me(b),me(c),me(d);
scanf("%d",&ade);
for(int j=--ade;j>=;j--) //这里是为了把幂和其位置相等,便于乘法计算。
scanf("%d",&a[j]);
scanf("%d",&bde);
for(int j=--bde;j>=;j--)
scanf("%d",&b[j]);
scanf("%d",&cde);
for(int j=--cde;j>=;j--)
scanf("%d",&c[j]);
for(int i=ade;i>=;i--)
for(int j=bde;j>=;j--)
{
if(a[i]&&b[j]){ //多项式的乘法,这里还要用上那个他给定你的多项式运算的规则。
if(d[i+j]) d[i+j]=;
else d[i+j]=;
}
}
dde=ade+bde; //d是a*b的答案。dde也就是说这个答案的最高次幂是多少。
while(dde>=cde) //把d的最高次幂比c小。
{
int tmp;
for(int i=cde;i>=;i--)
if(c[i]){
if(d[dde+i-cde]) d[dde+i-cde]=;
else d[dde+i-cde]=;
}
for(int i=dde;i>=;i--) //找d的最高次幂。
if(d[i]) {
dde=i;
break;
}
}
printf("%d",dde+);
for(int i=dde;i>=;i--)
printf(" %d",d[i]);
printf("\n");
}
return ;
}
poj 1060的更多相关文章
- POJ 1060 Modular multiplication of polynomials(多项式的加减乘除,除法转化成减法来求)
题意:给出f(x),g(x),h(x)的 (最高次幂+1)的值,以及它们的各项系数,求f(x)*g(x)/h(x)的余数. 这里多项式的系数只有1或0,因为题目要求:这里多项式的加减法是将系数相加/减 ...
- POJ 1060:Modular multiplication of polynomials
Modular multiplication of polynomials Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4 ...
- A过的题目
1.TreeMap和TreeSet类:A - Language of FatMouse ZOJ1109B - For Fans of Statistics URAL 1613 C - Hardwood ...
- poj 1094 / zoj 1060 Sorting It All Out
Sorting It All Out Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26876 Accepted: 92 ...
- POJ推荐50题
此文来自北京邮电大学ACM-ICPC集训队 此50题在本博客均有代码,可以在左侧的搜索框中搜索题号查看代码. 以下是原文: POJ推荐50题1.标记“难”和“稍难”的题目可以看看,思考一下,不做要求, ...
- POJ题目排序的Java程序
POJ 排序的思想就是根据选取范围的题目的totalSubmittedNumber和totalAcceptedNumber计算一个avgAcceptRate. 每一道题都有一个value,value ...
- POJ 题目分类(转载)
Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...
- (转)POJ题目分类
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. ...
- poj分类
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. ( ...
随机推荐
- Linux python <tab>自动补全
为Python添加交互模式下TAB自动补全以及命令历史功能. 1.获取python目录 [root@localhost ~]# python Python 2.6.6 (r266:84292, Jul ...
- OC-改错题
1,类方法中不能访问成员变量 2,id后不能加*(因为id相当于NSObject *) 3,id类型的变量不能用点语法 4,类对象只能调用类方法,不能调用对象方法 .description #impo ...
- 平衡二叉树(AVL)c语言实现
参考: 二叉平衡树的插入和删除操作 平衡二叉树,AVL树之图解篇 [查找结构3]平衡二叉查找树 [AVL] #include "stdio.h" #include "st ...
- Java使用Jetty实现嵌入式Web服务器及Servlet容器
Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty. ...
- 大熊君大话NodeJS之------Buffer模块
一,开篇分析 所谓缓冲区Buffer,就是 "临时存贮区" 的意思,是暂时存放输入输出数据的一段内存. JS语言自身只有字符串数据类型,没有二进制数据类型,因此NodeJS提供了一 ...
- MSP430G2333下位机乘法运算需要注意的一个问题
背景: 最近负责为主板管理电源的电源管理模块编写软体,使用的MCU为MSP430G2333.功能上很简单,即通过板子上的硬件拨码设定,或者通过IIC与主板通信,由主板的BIOS决定开机及关机的延时供电 ...
- PHP 暂停函数 sleep() 与 usleep() 的区别
在PHP中暂停代码执行一定时间,有两个函数可以实现,一个是sleep(),另一个是usleep(),它们参数都是一个整数值.sleep()是暂停多少秒,usleep()是暂停多少微秒. 注意:usle ...
- 如何编写可维护的面向对象JavaScript代码
能够写出可维护的面向对象JavaScript代 码不仅可以节约金钱,还能让你很受欢迎.不信?有可能你自己或者其他什么人有一天会回来重用你的代码.如果能尽量让这个经历不那么痛苦,就可以节省不少时 间.地 ...
- springmvc之hibernate整合
1.项目结构 2.所需jar包 3.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a ...
- mybaitis uuid插入和定义返回类型