标签:
HDU 2007-11 Programming Contest_WarmUp
题目大意:给你一个N*N的字符矩阵,再给一个翻转次数M,翻转一次为90°,M为正
表示顺时针翻转,M为负表示逆时针旋转。
思路:将M对4取余,总共分四种情况,根据翻转情况输出相应结果。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
char s[12][12];
int main()
{
int M,N;
while(cin >> N >> M)
{
getchar();
memset(s,0,sizeof(s));
for(int i = 0; i < N; ++i)
cin >> s[i];
if(M%4==1 || M%4==-3)
{
for(int j = 0; j < N; ++j)
{
for(int i = N-1; i >= 0; --i)
cout << s[i][j];
cout << endl;
}
}
else if(M%4 == 2 || M%4==-2)
{
for(int i = N-1; i >= 0; --i)
{
for(int j = N-1; j >= 0; --j)
cout << s[i][j];
cout << endl;
}
}
else if(M%4 == 3 || M%4==-1)
{
for(int j = N-1; j >= 0; --j)
{
for(int i = 0; i < N; ++i)
cout << s[i][j];
cout << endl;
}
}
else
{
for(int i = 0; i < N; ++i)
{
for(int j = 0; j < N; ++j)
cout << s[i][j];
cout << endl;
}
}
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/lianai911/article/details/43279799