题目描述

将一幅只含有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[][],temp[][];
for(int i=;i<m;i++)
{
cin>>dl;
for(int j=;j<n;j++)
{
d[i][j]=dl[j]-'';
}
}
scanf("%d",&p);
if(p==)
{
for(int i=;i<m;i++)
{
for(int j=;j<n;j++)
{
cout<<d[i][j];
}
cout<<endl;
}
}
if(p==)
{
for(int i=;i<m;i++)
{
for(int j=;j<n;j++)
{
temp[j][m--i]=d[i][j];
}
}
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
cout<<temp[i][j];
}
cout<<endl;
}
}
else if(p==)
{
for(int i=m-;i>=;i--)
{
for(int j=n-;j>=;j--)
{
cout<<d[i][j];
}
cout<<endl;
}
}
else if(p==)
{
for(int i=;i<m;i++)
{
for(int j=;j<n;j++)
{
temp[n--j][i]=d[i][j];
}
}
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
cout<<temp[i][j];
}
cout<<endl;
}
}
}
return ;
}

BUPT复试专题—旋转图像(2014)的更多相关文章

  1. BUPT复试专题—众数(2014)

    题目描述 有一个长度为N的非降数列,求数列中出现最多的数,若答案不唯一输出最小的数 输入 第一行T表示测试数据的组数(T<100) 对于每组测试数据: 第一行是一个正整数N表示数列长度 第二行有 ...

  2. BUPT复试专题—数据库检索(2014软院)

    题目描述 在数据库的操作过程中,我们进场会遇到检索操作.这个题目的任务是完成一些特定格式的检索,并输出符合条件的数据库中的所有结果. 我们现在有一个数据库,维护了学生的姓名(Name),性别(Sex) ...

  3. BUPT复试专题—最近公共祖先(2014软院)

    题目描述 给出一棵有N个节点的有根树TREE(根的编号为1),对于每组查询,请输出树上节点u和v的最近公共祖先. 最近公共祖先:对于有向树TREE的两个结点u,v.最近公共祖先LCA(TREE u,v ...

  4. BUPT复试专题—最长连续等差子数列(2014软院)

    题目描述   给定-个长度为N的整数数列,你需要在其中找到最长的连续子数列的长度, 并满足这个子数列是等差的.注意公差小于或等于0的情况也是允许的. 输入 第一行为数据组数T(1~100),表示测试数 ...

  5. BUPT复试专题—奇偶求和(2014软件)

    题目描述 给出N个数,求出这N个数,奇数的和以及偶数的和. 输入 第一行为测试数据的组数T(1<=T<=50).请注意,任意两组测试数据之间是相互独立的. 每组数据包括两行: 第一行为一个 ...

  6. BUPT复试专题—网络传输(2014网研)

    题目描述 网络的高效互联与智能传输是提升海量用户服务请求映射效率的重要措施.在这个任务中,你需耍在最小的传输时间内,将数据源传输到指定的网络节点中.我们给定的网络一共包含N个节点,其中节点1为数据源. ...

  7. BUPT复试专题—进程管理(2014网研)

    题目描述 在操作系统中,进程管理是非常重要的工作.每个进程都有唯一的进程标识PID.每个进程都可以启动子进程,此时我们称该它本身是其子进程的父进程.除PID为0的进程之外,每个进程冇且只冇一个父进程. ...

  8. BUPT复试专题—分数加法(2014网研)

    题目描述 求2^-a + 2^-b,其中a和b均为正整数,结果用最简分数表示 输入 第一行为测试数据的组数T (1~400).请注意,任意两组测试数据之间相互独立的.每组测试数据一行,包含两个整数a和 ...

  9. BUPT复试专题—Python List(2014)

    题目描述 在Python中,List (列表)是一种非常重要的数据结构.它与C/C++/Java中的 数组有些类似,但支持添加新元素时的动态扩展.在这个问题中,你需要处理如下 的几种对List的操作. ...

随机推荐

  1. (6)zabbix主机与组配置

    1. 创建主机方法 1.1 新建主机configuration(配置)->Hosts(主机)->Create host(创建主机) 见前面的博文 1.2 克隆/完全克隆主机 2. 主机参数 ...

  2. python 中requests 模块用py2exe生成exe后SSL certificate exception的问题

    [('system library', 'fopen', 'No such process'), ('BIO routines', 'BIO_new_file', 'no such file'), ( ...

  3. 【cookie】【浏览器】各大浏览器对cookie的限制

  4. python其他

    其他 1.迭代器 定义:帮助对某类对象(str/list/tuple/dict/set)中的元素进行逐一获取 可迭代对象:内部具有__iter__()方法且返回一个迭代地址.(可被for循环就是可迭代 ...

  5. 三、Pandas速查手册中文版

    本文翻译自文章:Pandas Cheat Sheet - Python for Data Science,同时添加了部分注解. 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重 ...

  6. (转)去除背景色的方法,适合iOS5/6/7/8.0beta

    通常使用UISearchbar都需要去除其背景色来与自己的界面风格保持协调,但是UISearchbar的设计随着iOS版本的升级不断地在发生着变化,下面我们通过分析UISearchbar在各个iOS版 ...

  7. Knockout v3.4.0 中文版教程-1-入门和安装

    英文原版教程:http://knockoutjs.com/documentation/introduction.html 注:此教程根据英文原版翻译,仅作练习,如有不足或错误,请指正 说明: 对原文中 ...

  8. Java-得到类的包

    package com.tj; public class MyClass2 { public static void main(String[] args) { Class cls = java.la ...

  9. loj2145 「SHOI2017」分手是祝愿

    记 \(f_i\) 是从要做 \(i\) 步好操作变成要做 \(i-1\) 步好操作的期望操作次数. 显然 \(f_i=i/n \times 1 + (1-i/n) \times (1 + f_{i+ ...

  10. luogu3159 [CQOI2012]交换棋子

    把每个点拆成 x y z 对于第 i 个点,x->y是表示流入的,y->z是表示流出的. #include <iostream> #include <cstring> ...