#29654: c++ 想了很久還是不知道錯在哪?


oscar1203 (20633陳畇辰)

學校 : 臺北市立中崙高級中學
編號 : 170425
來源 : [36.225.18.6]
最後登入時間 :
2023-05-12 00:29:24
c067. 00591 - Box of Bricks -- UVa591 | From: [36.225.57.169] | 發表日期 : 2022-03-17 21:54

 #include <iostream>

 

using namespace std;

 

int main()

{

    int n, h[n];

    while(cin>>n)

    {

        if(n==0) break;

        int set=0;            

        int ans=0;

 

        for(int i=0 ; i<n ; i++) {

            cin>>h[i];

            ans=( ans+h[i] ) / n;

        }

        int count=0;

        for(int i=0 ; i<n ; i++) {

            if(h[i]>n) count+=h[i]-ans;

        }

        set+=1;

        cout<<"Set #"<< set <<"\nThe minimum number of moves is "<<count<<"."<<endl;

    }

    return 0;

}

 
#29655: Re:c++ 想了很久還是不知道錯在哪?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
c067. 00591 - Box of Bricks -- UVa591 | From: [39.8.224.217] | 發表日期 : 2022-03-18 11:54

 #include

 

using namespace std;

 

int main()

{

    int n, h[n];

    while(cin>>n)

    {

        if(n==0) break;

        int set=0;            

        int ans=0;

 

        for(int i=0 ; i

            cin>>h[i];

            ans=( ans+h[i] ) / n;

        }

        int count=0;

        for(int i=0 ; i

            if(h[i]>n) count+=h[i]-ans;

        }

        set+=1;

        cout<<"Set #"<< set <<"\nThe minimum number of moves is "<<count<<"."<<endl;

    }

    return 0;

}


1. 宣告h陣列時n還沒初始化

2. 平均高度算法錯誤

3. set宣告放到迴圈外

4. if(h[i]>n)的n改成ans

 
ZeroJudge Forum