文章

9

粉丝

56

获赞

0

访问

2.3k

头像
旋转矩阵 题解:借鉴大佬思路自己写的,数组下标从一开始,本地数据测的也正常,放到oj上就Wrong Answer,是不是因为下标必须得从0开始?
P1221 同济大学机试题
发布于2024年3月7日 15:45
阅读数 224

#include<bits/stdc++.h>
using namespace std;
/*
数组下标从1开始 
顺时针旋转90度:(i,j)->(j,n-i+1)
沿着y轴对称翻转,行不变,列变:(i,j)->(i,m-j+1)
逆时针旋转90度:(i,j)->(m-j+1,i) 

*/

int n,m,k;
int a[100][100]={0};
int b[100][100]={0};
int num[100]={0};

void shun90(){
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            b[j][n-i+1]=a[i][j];
        }
    }
    int temp=n;
    n=m;
    m=temp;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            a[i][j]=b[i][j];
        }
    }    
}
void fan(){
    for(int i=1;i<=n;i++){
        for(int j=1;j&...

登录查看完整内容


登录后发布评论

2 条评论
snake
2024年3月7日 16:27

嗯,从0开始和1开始有点区别,坐标转换要对应上

赞(0)

18237466773 : 回复 snake: 嗯嗯,0和1的区别搞明白了,我是按下标为1开始进行的坐标转换,本地用样例数据测了下也正常,坐标变换感觉也没错,所以就没搞明白为啥没通过

2024年3月7日 17:04