修改较大输入边界的程序

时间:2018-01-20 08:03:33

标签: c++ performance

我尝试解决以下链接中给出的问题:

Spam Classification In Neural Network - SPAMCLAS

虽然我的程序适用于较小的输入,但输入的值较大(例如,在10 ^ 9范围内)。

我对此问题的解决方案如下:

#include<iostream>
using namespace std;

int main(){

int testCases, i, j , k, l, N, m, minX, maxX, weight[100], bias[100], o, evenCount = 0, oddCount = 0;
cin>>testCases; // no error here

for( int i = 0; i < testCases; ++i){
        evenCount = 0; oddCount = 0;
        cin>>N>>minX>>maxX;
        for (m = 0; m<N;++m){
            cin>>weight[m]>>bias[m];

        }

            for (k = minX; k <= maxX; ++k){
                o = k;
                for (l = 0; l < N;++l) {
                    o = (weight[l] * o) + bias[l];
                }
                    if (o%2 == 0) ++evenCount;
                    else ++oddCount;

            }

        cout<<evenCount<<" "<<oddCount<<"\n";

    }
}

是否有任何优化代码的方法,以便它对于较大的输入也能完美地工作。 Codechef的在线评分员提出了超过时间限制&#34;异常。

我是编程新手。如果你能以外行的方式解释,我将不胜感激。

0 个答案:

没有答案