传统弱校HFUT的蒟蒻,真相只有一个

BUPT复试专题—旋转图像(2014)

题目描述

将一幅只含有01像素点的图片进行顺时针旋转,旋转的角度仅包含0°,90°,180°,270°

输入

第一行一个整数T(<50)表示输入的组数

每组测试数据第一行是两个整数N和M(<50)表示图片的高度和宽度

接下来N行,每行是一个01串,表示图像的像素点

最后一行是旋转的角度

输出

输出旋转后的图片,不要输出空余的空格

样例输入

2
2 3
111
000
90
3 3
111
101
111
180

样例输出

01
01
01
111
101
111

来源

2014机考B题   转载请注明出处

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
int main()
{
    int n,t,m,p;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d %d",&m,&n);
        string dl;
        bool d[51][51],temp[51][51];
        for(int i=0;i<m;i++)
        {
            cin>>dl;
            for(int j=0;j<n;j++)
            {
                d[i][j]=dl[j]-'0';
            }
        }
        scanf("%d",&p);
        if(p==0)
        {
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                {
                    cout<<d[i][j];
                }
                cout<<endl;
            }
        }
        if(p==90)
        {
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                {
                    temp[j][m-1-i]=d[i][j];
                }
            }
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                {
                    cout<<temp[i][j];
                }
                cout<<endl;
            }
        }
        else if(p==180)
        {
            for(int i=m-1;i>=0;i--)
            {
                for(int j=n-1;j>=0;j--)
                {
                    cout<<d[i][j];
                }
                cout<<endl;
            }
        }
        else if(p==270)
        {
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                {
                    temp[n-1-j][i]=d[i][j];
                }
            }
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                {
                    cout<<temp[i][j];
                }
                cout<<endl;
            }
        }
    }
    return 0;
}

 

posted @ 2018-03-04 15:36  未名亚柳  阅读(199)  评论(0编辑  收藏  举报