pat 甲级 1009 Product of Polynomials

和1002很像
嗯,所以又看了一下午才把题看懂
就是第一行的每一项都与第二行的每一项指数相加,系数相乘
然后再和1002一样指数相同的合并

题目做起来很简单
第一遍做完,样例也顺利过了
提交

10分,,,
emmmm

这次的0都有注意啊,,
输出格式也没错,,

没啥能改的地方啊???
网上的代码有的都和我一样啊就是数组名字不一样
难道是数组大小的事?

1000->2000
没过,,而且变成了 5分,那就说明是数组大小的问题了
照着AC的代码改成2005

就,,过了

尝试了几次后,发现只要数组大小开过2000就可以,2001可以AC

还在努力思考原因。。(明白了,因为自己太傻了——1002指数不涉及运算,1009不是呀,最大1000,加1000,,,)
果然还是多用STL最方便吗。。

#include <cstdio>
#include <iostream>

using namespace std;

int n, m, sum;
double arr[2005], brr[2005], crr[2005];

int main(){

    cin >> n;
    for(int i=0; i<n; i++){
        int t;
        double h;
        cin >> t >> h;
        arr[t] = h;
        brr[t] = 1;

    }

    cin >> m;
    for(int j=0; j<m; j++){
        int t;
        double h;
        cin >> t >> h;
        for(int k=0; k<2005; ++k){
            if(brr[k]==1)   crr[t+k] += h*arr[k];           
        }       
    }

    /*for(int l=0; l<2005; l++){
        if(crr[l]!=0) sum++;
    }*/

    for(int i = 2004; i>=0; --i){
        if(crr[i]!=0) sum++;
    }

    cout << sum;
    for(int o=2005; o>=0; --o){
        if(crr[o]!=0) printf(" %d %.1f", o, crr[o]);
    }

    return 0;
} 

偷懒了,,还是要坚持住啊咸鱼,,,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值