Rolling table
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2404 Accepted Submission(s): 1157
Problem Description
After the 32nd ACM/ICPC regional contest, Wiskey is beginning to prepare for CET-6. He has an English words table and read it every morning.
One day, Wiskey's chum wants to play a joke on him. He rolling the table, and tell Wiskey how many time he rotated. Rotate 90 degrees clockwise or count-clockwise each time.
The table has n*n grids. Your task is tell Wiskey the final status of the table.
One day, Wiskey's chum wants to play a joke on him. He rolling the table, and tell Wiskey how many time he rotated. Rotate 90 degrees clockwise or count-clockwise each time.
The table has n*n grids. Your task is tell Wiskey the final status of the table.
Input
Each line will contain two number.
The first is postive integer n (0 < n <= 10).
The seconed is signed 32-bit integer m.
if m is postive, it represent rotate clockwise m times, else it represent rotate count-clockwise -m times.
Following n lines. Every line contain n characters.
The first is postive integer n (0 < n <= 10).
The seconed is signed 32-bit integer m.
if m is postive, it represent rotate clockwise m times, else it represent rotate count-clockwise -m times.
Following n lines. Every line contain n characters.
Output
Output the n*n grids of the final status.
Sample Input
3 2 123 456 789 3 -1 123 456 789
Sample Output
987 654 321 369 258 147
Author
Wiskey
题解:就是将数的方阵旋转,每次90度。。。。开数组不能用int类型......坑啊
AC代码:
#include<iostream>
#include<memory.h>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<cstdlib>
#include<iomanip>
#include<vector>
#include<list>
#include<map>
#include<algorithm>
typedef long long LL;
using namespace std;
const LL maxn=1000+10;
const LL mod=10000000;
char a[12][12]; //坑啊。。。要用char,不能用int
int main()
{
int n,m;
while(cin>>n>>m)
{
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
int k=m%4;
if(k==0){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<a[i][j];
}
cout<<endl;
}
}
if(k==1||k==-3){
for(int j=1;j<=n;j++)
{
for(int i=n;i>=1;--i)
{
cout<<a[i][j];
}
cout<<endl;
}
}
if(k==2||k==-2)
{
for(int i=n;i>=1;i--)
{
for(int j=n;j>=1;j--)
{
cout<<a[i][j];
}
cout<<endl;
}
}
if(k==3||k==-1)
{
for(int j=n;j>=1;j--)
{
for(int i=1;i<=n;i++)
{
cout<<a[i][j];
}
cout<<endl;
}
}
}
return 0;
}