CCF-训练50题-NO.2-图像旋转问题

来源:互联网 发布:android 仿淘宝购物车 编辑:程序博客网 时间:2024/06/02 20:47

问题描述

旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。
计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。

输入

输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。
接下来n行每行包含m个整数,表示输入的图像。

输出

输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。


代码

#include <iostream>using namespace std;int main(){int m,n;cin>>n>>m;int *p1=new int[n*m];for (int i=0;i<n;i++)for (int j=0;j<m;j++)cin>>p1[i*m+j];int *p2=new int[m*n];for (int i=0;i<m;i++)for (int j=0;j<n;j++){p2[i*n+j]=p1[j*m+(m-i-1)];}for (int i=0;i<m;i++){for (int j=0;j<n;j++){cout<<p2[i*n+j];                 if (j<n-1) cout<<" ";                }if (i<m-1) cout<<endl;}return 0;}


原创粉丝点击