#38399: 本題目的測資設定為「不公開」


henryxyz888@gmail.com (Henry Chen)

學校 : 不指定學校
編號 : 255759
來源 : [220.143.211.17]
最後登入時間 :
2023-11-19 00:16:05
b266. 矩陣翻轉 -- 2016 APCS 實作題第二題 | From: [220.143.211.17] | 發表日期 : 2023-11-19 00:30

#include<iostream>

using namespace std;

 

int main()

{

int r, c, m;

int i, j, a, _;

cin>>r>>c>>m;

int k[m];

if(r>c)  

a=r;

else

a=c;

int s[a][a], t[a][a];

 

 

for(i=1;i<=r;i++)  

{

for(j=1;j<=c;j++)

{

cin>>s[i][j];

}

}

for(_=1;_<=m;_++)

cin>>k[_];

 

for(_=m;_>=1;_--)

{

if(k[_]==0) //旋轉 

{

for(i=1;i<=r;i++)

{

for(j=1;j<=c;j++)

{

t[c+1-j][i]=s[i][j];

}

}

swap(r,c);

}

else //翻轉 

{

for(i=1;i<=r;i++)

{

for(j=1;j<=c;j++)

{

t[r+1-i][j]=s[i][j];

}

}

}

 

for(i=1;i<=r;i++)

{

for(j=1;j<=c;j++)

{

s[i][j]=t[i][j];

}

}

}

 

cout<<r<<" "<<c<<endl;

for(i=1;i<=r;i++)

{

for(j=1;j<=c;j++)

{

cout<<s[i][j];

if(j!=c)

cout<<" "; 

}

cout<<'\n';

}

 

return 0;

}

 

前三個測資都AC 但後兩個WA而且顯示"本題目的測資設定為「不公開」"

請問這要怎麼處理?

 
#38400: Re: 本題目的測資設定為「不公開」


liaoweichen1024@gmail.com (M_SQRT)

學校 : 新北市立新莊高級中學
編號 : 195452
來源 : [122.116.111.175]
最後登入時間 :
2024-11-10 18:46:03
b266. 矩陣翻轉 -- 2016 APCS 實作題第二題 | From: [118.166.140.199] | 發表日期 : 2023-11-19 06:17

1. 陣列int arr[N]的元素索引值是從0~N-1,不是1~N
2. 宣告在main函式裡面的陣列或變數要給初始值,不然那段記憶體空間會存有上一個使用者留下來的資料。
3. 程式碼丟出來請縮排,那樣超級醜。

#include<iostream>
using namespace std;

int main() {

    int r, c, m;
    int i, j, a=0, _; //a一開始有可能不是0,要初始化

    cin>>r>>c>>m;

    int k[m];

    if(r>c) a=r;
    else a=c;
    
    int s[a][a], t[a][a];
    
    // 陣列要給初始值
    for(i=0; i<a; i++)
        for(j=0; j<a; j++)
            s[i][j] = t[i][j] = 0;
    
    for(i=0;i<r;i++) {
        for(j=0;j<c;j++) {
            cin>>s[i][j];
        }
    }

    for(_=0;_<m;_++) cin>>k[_];
    
    for(_=m;_--;_) {
    
        if(k[_]==0) {       //旋轉
            for(i=0;i<r;i++) {
                for(j=0;j<c;j++) {
                    t[c-j-1][i]=s[i][j]; //
                }
            }
            swap(r,c);
        } else {            //翻轉
            for(i=0;i<r;i++) {
                for(j=0;j<c;j++) {
                    t[r-i-1][j]=s[i][j]; //
                }
            }
        }
        
        for(i=0;i<r;i++) {
            for(j=0;j<c;j++) {
                s[i][j]=t[i][j];
            }
        }
        
    }
    
    
    cout<<r<<" "<<c<<endl;
    for(i=0;i<r;i++) {
        for(j=0;j<c;j++) {
            cout<<s[i][j];
            if(j!=c) cout<<" ";
        }
        cout<<'\n';
    }

}
 
ZeroJudge Forum