Rolling table
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1318 Accepted Submission(s): 650
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
Source
Recommend
威士忌
#include <stdio.h>
int main()
{
char a[11][11];
int n, r, i, j;
while (~scanf("%d%d", &n, &r))
{
for(i = 0; i < n; i++)
scanf("%s", a[i]);
if(r < 0)
{
r *= -1;
r %= 4;
r = 4 - r;
}
r %= 4;
if(r == 0)
for(i = 0; i < n; i++)
printf("%s\n", a[i]);
else if(r == 1)
for(i = 0; i < n; i++)
{
for(j = n-1; j >= 0; j--)
printf("%c", a[j][i]);
printf("\n");
}
else if(r == 2)
for(i = n-1; i >= 0; i--)
{
for(j = n-1; j >= 0; j--)
printf("%c", a[i][j]);
printf("\n");
}
else if(r == 3)
for (i = n-1; i >= 0; i--)
{
for(j = 0; j < n; j++)
printf("%c", a[j][i]);
printf("\n");
}
}
return 0;
}
本文介绍了一个关于旋转n*n表格的问题,通过输入旋转次数和方向,实现了顺时针或逆时针旋转,并给出了完整的C语言解决方案。
786

被折叠的 条评论
为什么被折叠?



