#394: 有哪位好心人可以幫我看看哪裡錯了?


novel972 ([!])


 有哪位好心人可以幫我看看哪裡錯了?

下面是我的程式碼

#include <iostream>
using namespace std;

int main(){
    int i, j, n, x, A[401], T[20], add, all;
    while(1){
        cin >> n;
        if(n==0)
            break;
        all=0; x=0;
        for(i=0; i<n; i++){
            cin >> T[i];
            all = T[i] + all;
        }
        for(i=1; i<=all; i++)
            A[i] = 1;
        for(i=0; i<n; i++){
            add = T[i];
            A[add]=0;
            for(j=i+1; j<n; j++){
                add = add + T[j];
                A[add]=0;
            }
        }
        for(i=1; i<=all; i++){
            if(A[i]==0)
                x++;
        }
        if(!cin.eof()){
            if(all==x)
                cout << "YES" << endl;
            else cout << "NO" << endl;
        }
    }        
    return 0;
}

#397: Re:有哪位好心人可以幫我看看哪裡錯了?


netsphere (JSW)


 有哪位好心人可以幫我看看哪裡錯了?

下面是我的程式碼 

#include <iostream>
using namespace std;

int main(){
    int i, j, n, x, A[401], T[20], add, all;
    while(1){
        cin >> n;
        if(n==0)
            break;
        all=0; x=0;
        for(i=0; i<n; i++){
            cin >> T[i];
            all = T[i] + all;
        }
        for(i=1; i<=all; i++)
            A[i] = 1;
        for(i=0; i<n; i++){
            add = T[i];
            A[add]=0;
            for(j=i+1; j<n; j++){
                add = add + T[j];
                A[add]=0;
            }
        }
        for(i=1; i<=all; i++){
            if(A[i]==0)
                x++;
        }
        if(!cin.eof()){
            if(all==x)
                cout << "YES" << endl;
            else cout << "NO" << endl;
        }
    }        
    return 0;


(2). 總刻度數不等於K,這裡的刻度數定義為尺上刻痕所分隔的片段個數,例如上圖的尺一共有1, 1, 4, 4, 35個刻度。一把10公分的尺,如果有10個刻度,每個刻度長度都是1,那就不算是「節約」刻度的尺了。

這個有考慮到嗎?   我猜的 :P

#402: Re:有哪位好心人可以幫我看看哪裡錯了?


novel972 ([!])


 有哪位好心人可以幫我看看哪裡錯了?

下面是我的程式碼 

#include <iostream>
using namespace std;

int main(){
    int i, j, n, x, A[401], T[20], add, all;
    while(1){
        cin >> n;
        if(n==0)
            break;
        all=0; x=0;
        for(i=0; i<n; i++){
            cin >> T[i];
            all = T[i] + all;
        }
        for(i=1; i<=all; i++)
            A[i] = 1;
        for(i=0; i<n; i++){
            add = T[i];
            A[add]=0;
            for(j=i+1; j<n; j++){
                add = add + T[j];
                A[add]=0;
            }
        }
        for(i=1; i<=all; i++){
            if(A[i]==0)
                x++;
        }
        if(!cin.eof()){
            if(all==x)
                cout << "YES" << endl;
            else cout << "NO" << endl;
        }
    }        
    return 0;


(2). 總刻度數不等於K,這裡的刻度數定義為尺上刻痕所分隔的片段個數,例如上圖的尺一共有1, 1, 4, 4, 3共5個刻度。一把10公分的尺,如果有10個刻度,每個刻度長度都是1,那就不算是「節約」刻度的尺了。這個有考慮到嗎?   我猜的 :P 

 

再次感謝Mr.(or Ms.)禾斗禾斗