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


novel972 ([!])

學校 : 臺北市立第一女子高級中學
編號 : 2118
來源 : [203.64.52.210]
最後登入時間 :
2012-07-05 11:51:33
b044. C. 節約尺 -- 2005 NPSC 高中組決賽 | From: [71.232.206.29] | 發表日期 : 2008-07-18 08:59

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

下面是我的程式碼

#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)

學校 : 國立屏東高級中學
編號 : 1600
來源 : [1.200.11.247]
最後登入時間 :
2023-06-24 01:06:46
b044. C. 節約尺 -- 2005 NPSC 高中組決賽 | From: [122.118.86.89] | 發表日期 : 2008-07-18 10:37

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

下面是我的程式碼 

#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 ([!])

學校 : 臺北市立第一女子高級中學
編號 : 2118
來源 : [203.64.52.210]
最後登入時間 :
2012-07-05 11:51:33
b044. C. 節約尺 -- 2005 NPSC 高中組決賽 | From: [71.232.206.29] | 發表日期 : 2008-07-19 09:07

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

下面是我的程式碼 

#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.)禾斗禾斗

 
ZeroJudge Forum