社区讨论

10分告急!!!!求调,玄关。外旋矩阵

题目总版参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m0exoa1x
此快照首次捕获于
2024/08/29 14:58
2 年前
此快照最后确认于
2025/11/04 22:06
4 个月前
查看原帖
using namespace std;  

const int MAXN = 10005;  

int main() {  
    int n, m, r, c;  
    
    cin >> n >> m;  
   
    cin >> r >> c;  

    int dx[4] = {0, +1, 0, -1}; 
    int dy[4] = {+1, 0, -1, 0};  
    int a[MAXN][MAXN] = {0}; 

    
    int num = 1;  
    a[r][c] = num;  

    int x = r, y = c;  
    int cnt = 1; 

    while (num < n * m) {  
        for (int k = 0; k < 4; k++) {  
            int len = (cnt - 1) / 2 + 1;
            for (int l = 1; l <= len; l++) {  
                
                x += dx[k];  
                y += dy[k];  

               
                if (x >= 1 && x <= n && y >= 1 && y <= m) {  
                    ++num;  
                    a[x][y] = num; 
                }  
            }  
            ++cnt; 
        }  
    }  

   
    
    for (int i = 1; i <= n; i++) {  
        for (int j = 1; j <= m; j++) {  
            cout << a[i][j] ; 
        }  
        cout << endl;  
    }  

    return 0;  
}

回复

4 条回复,欢迎继续交流。

正在加载回复...