zoukankan      html  css  js  c++  java
  • A1009 Product of Polynomials (25)(25 分)

    A1009 Product of Polynomials (25)(25 分)

    This time, you are supposed to find A*B where A and B are two polynomials.

    Input Specification:

    Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N1 a~N1~ N2 a~N2~ ... NK a~NK~, where K is the number of nonzero terms in the polynomial, Ni and a~Ni~ (i=1, 2, ..., K) are the exponents and coefficients, respectively. It is given that 1 <= K <= 10, 0 <= NK < ... < N2 < N1 <=1000.

    Output Specification:

    For each test case you should output the product of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate up to 1 decimal place.

    Sample Input

    2 1 2.4 0 3.2
    2 2 1.5 1 0.5
    

    Sample Output

    3 3 3.6 2 6.0 1 1.6
    

    思考

    先考虑怎么存第一个样例

    比起初试,还是机试爆零更可怕一点,所以确实是在大三下没有把握住机会啊,这学期有3门课,不应该那么烂的。

    最高幂次数是2000,因为最大情况是1000*1000。

    另外全局变量初始化不赋值,c语言默认处理为0啊,那么养成初始化赋值的习惯是极好的。

    【c语言问题系列教程之一】变量声明和初始化 - CSDN博客 https://blog.csdn.net/mylinchi/article/details/52652595

    C语言中全局变量初始化的重要性!!! - CSDN博客 https://blog.csdn.net/macrohasdefined/article/details/8814804

    AC代码

    #include<stdio.h>
    struct Poly{
    	int exp;
    	double cof;
    }poly[1001];//幂次数决定个数,正如数组下标是幂次数一样 
    double ans[2005]={0};//存放结果 
    int main(){
    	int n,m,number=0;
    	scanf("%d",&n);
    	for(int i=0;i<n;i++){
    		scanf("%d %lf",&poly[i].exp ,&poly[i].cof );
    	}//读入第一个多项式 
    	scanf("%d",&m);
    	for(int i=0;i<m;i++){
    		int exp;
    		double cof;
    		scanf("%d %lf",&exp,&cof);//读入第二个多项式的一项 
    		for(int j=0;j<n;j++){
    			ans[exp+poly[j].exp]+=(cof*poly[j].cof);//这个写法从A1042起步 
    		} 	
    	} 
    	for(int i=0;i<=2000;i++){//这里漏掉一个最高幂次数2000,就有两个测试点过不去 
    		if(ans[i] !=0.0) number++;
    	} 
    	printf("%d", number);
    	for(int i=2000;i>=0;i--){
    		if(ans[i] !=0.0){
    			printf(" %d %.1f",i ,ans[i]);//输出控制要注意 
    		}
    	}
    	return 0;
    } 
    
  • 相关阅读:
    权值线段树&&可持久化线段树&&主席树
    扩展中国剩余定理(EXCRT)快速入门
    jquery学习记录
    隐藏vbs执行cmd命令的窗口
    eclipse打开出错 Error: opening registry key 'SoftwareJavaSoftJava Runtime Environment'
    正则表达式学习总结
    什么是xss攻击?
    什么是浏览器的同源策略?
    关于axios的封装
    关于递归。
  • 原文地址:https://www.cnblogs.com/lingr7/p/9389375.html
Copyright © 2011-2022 走看看