• UVALive 2323 Modular Multiplication of Polynomials(模拟)


      这是一个相对简单的模拟,因为运算规则已经告诉了我们,并且比较简单,不要被吓到……

      思路:多项式除以另外一个多项式,如果能除,那么他的最高次一定被降低了,如果最高次不能被降低,那说明已经无法被除,就是题目要求输出的膜了,降低最高次的方法很简单,只要被除式的最高次 >= 除式的最高次,就将除式的最高次升高到与被除式一样高,然后让被除式减去它,直到不满足上述关系为止。

      代码如下:

    #include<cstdio>
    #include<algorithm>
    #include<iostream>
    #include<cstring>
    using namespace std;
    #define maxn 1100
    int f[maxn],g[maxn],h[maxn];
    int mul[maxn*2],now[maxn*2];
    int main()
    {
        int t,f1,g1,h1,m1,tmp;
        scanf("%d",&t);
        while(t--){
            scanf("%d",&f1);
            for(int i = f1-1;i >= 0;i--) scanf("%d",&f[i]);
            scanf("%d",&g1);
            for(int i = g1-1;i >= 0;i--) scanf("%d",&g[i]);
            scanf("%d",&h1);
            for(int i = h1-1;i >= 0;i--) scanf("%d",&h[i]);
            for(int i = 0;i <= f1+g1;i++) mul[i] = 0;
            for(int i = 0;i < f1;i++){
                for(int j = 0;j < g1;j++){
                    mul[i+j] += f[i]*g[j];
                    mul[i+j] %= 2;
                }
            }
            h1--;
            m1 = f1+g1-2;
            while(h1 <= m1){
                tmp = m1 - h1;
                for(int i = 0;i <= m1;i++) now[i] = 0;
                for(int i = 0;i <= h1;i++){
                    now[i+tmp] = h[i];
                }
                for(int i = m1;i >= 0;i--) mul[i] = (mul[i]+now[i])%2;
                for(int i = m1;i >= 0;i--) {
                    if(mul[i]){
                        m1 = i;
                        break;
                    }
                }
            }
            printf("%d",m1+1);
            for(int i = m1;i >= 0;i--){
                printf(" %d",mul[i]);
            }
            puts("");
        }
        return 0;
    }
  • 相关阅读:
    jquery的选择器
    css单行文本与多行溢出文本的省略号问题
    div仿textarea使高度自适应
    css3制作炫酷导航栏效果
    变态的iis10
    Session丢失——解决方案
    sqlserver安装遇到的问题——1
    Win SERVER 2008 许可证激活失败,系统重启问题
    sqlserver2008 数据库
    VS2010 不显示 最近使用的项目 解决办法
  • 原文地址:https://www.cnblogs.com/jifahu/p/5723131.html
Copyright © 2020-2023  润新知