#44505: 測資都只有80%,求解


31s173@ms.mingdao.edu.tw (0210周冠辰)

學校 : 不指定學校
編號 : 286730
來源 : [118.232.38.204]
最後登入時間 :
2024-12-11 22:18:29
b266. 矩陣翻轉 -- 2016 APCS 實作題第二題 | From: [118.232.38.204] | 發表日期 : 2024-12-11 22:22

試了好多次,都只有80%,有人能幫忙檢查是哪裡有問題嗎?

#include <iostream>
using namespace std;
 
int main() {
 
 
int R, C, M;
cin >> R >> C >> M;
//輸入R,C,M
 
int a[10][10];//RCM皆是1~10的正整數,故設10就可 
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
cin >> a[i][m];
}
}
//輸入陣列R行C列
 
int b[10];
for(int n = 0; n < M; n++){
cin >> b[n];
}
//輸入M個整數成k
int temp[11][11] = {0};
for(int n = 0; n < M; n++){
if(b[n] == 1){
int temp[11][11] = {0};
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
temp[i][m] = a[R-1-i][m];
}
}
for(int i = 0; i < R; i++) {
    for(int m = 0; m < C; m++) {
        a[i][m] = temp[i][m];
    }
}
//翻轉矩陣
 
else if(b[n] == 0){
int temp[11][11] = {0};
for(int i = 0; i < C; i++){
for(int m = 0; m < R; m++){
temp[i][m]=a[R - 1 - m][i];
}
}
swap(R,C);
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
a[i][m]=temp[i][m];
}
}
}
 
}
//旋轉矩陣 
cout << R << ' ' << C << '\n';
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
cout << a[i][m];
if (m < C - 1) cout << " ";
else cout << endl;
}
}
//輸出
 
return 0;
}
 
#44517: Re: 測資都只有80%,求解


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [223.137.90.164]
最後登入時間 :
2025-01-31 20:11:05
b266. 矩陣翻轉 -- 2016 APCS 實作題第二題 | From: [114.136.129.195] | 發表日期 : 2024-12-12 19:15

試了好多次,都只有80%,有人能幫忙檢查是哪裡有問題嗎?

#include
using namespace std;
 
int main() {
 
 
int R, C, M;
cin >> R >> C >> M;
//輸入R,C,M
 
int a[10][10];//RCM皆是1~10的正整數,故設10就可 
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
cin >> a[i][m];
}
}
//輸入陣列R行C列
 
int b[10];
for(int n = 0; n < M; n++){
cin >> b[n];
}
//輸入M個整數成k
int temp[11][11] = {0};
for(int n = 0; n < M; n++){
if(b[n] == 1){
int temp[11][11] = {0};
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
temp[i][m] = a[R-1-i][m];
}
}
for(int i = 0; i < R; i++) {
    for(int m = 0; m < C; m++) {
        a[i][m] = temp[i][m];
    }
}
//翻轉矩陣
 
else if(b[n] == 0){
int temp[11][11] = {0};
for(int i = 0; i < C; i++){
for(int m = 0; m < R; m++){
temp[i][m]=a[R - 1 - m][i];
}
}
swap(R,C);
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
a[i][m]=temp[i][m];
}
}
}
 
}
//旋轉矩陣 
cout << R << ' ' << C << '\n';
for(int i = 0; i < R; i++){
for(int m = 0; m < C; m++){
cout << a[i][m];
if (m < C - 1) cout << " ";
else cout << endl;
}
}
//輸出
 
return 0;
}

哥你程式碼縮排一下吧ww

不過這題說到80%

大概就是題目看錯了吧

不是把A轉成B,而是把B轉回A喔( ‘ч’ )

 
#45028: Re: 測資都只有80%,求解


natemc@chc.edu.tw (縣立溪州國中葉永興)

學校 : 不指定學校
編號 : 281940
來源 : [113.196.206.174]
最後登入時間 :
2025-01-04 22:15:55
b266. 矩陣翻轉 -- 2016 APCS 實作題第二題 | From: [113.196.206.174] | 發表日期 : 2025-01-03 23:35

解題AC通過率達80%時,
把B轉回A的K個步驟中,
應是倒回的步驟程序!
例如測資二 0 1,倒回程序是1 0。



 
ZeroJudge Forum