HDU 2137 - circumgyrate the string

来源:互联网 发布:一体机和台式机 知乎 编辑:程序博客网 时间:2024/05/16 18:20

知识点:矩阵输出问题

如果能把旋转矩阵搞懂,这就是小儿科的了。

#include <cstdio>#include <cstring>int main(){    char str[80];    int n;    while(scanf("%s%d",str,&n)!=EOF)    {        int len=strlen(str);        for(int i=0;i<len;i++)        {            if(n%8==0)            {                putchar(str[i]);                if(i==len-1) putchar('\n');            }            else if(n%8==1||n%8==-7)            {                for(int j=0;j<len-1-i;j++)                putchar(' ');                printf("%c\n",str[len-1-i]);            }            else if(n%8==2||n%8==-6)            {                for(int j=0;j<len/2;j++)                putchar(' ');                printf("%c\n",str[len-1-i]);            }            else if(n%8==3||n%8==-5)            {                for(int j=0;j<i;j++)                putchar(' ');                printf("%c\n",str[len-1-i]);            }            else if(n%8==4||n%8==-4)            {                putchar(str[len-1-i]);                if(i==len-1) putchar('\n');            }            else if(n%8==5||n%8==-3)            {                for(int j=0;j<len-1-i;j++)                putchar(' ');                printf("%c\n",str[i]);            }            else if(n%8==6||n%8==-2)            {                for(int j=0;j<len/2;j++)                putchar(' ');                printf("%c\n",str[i]);            }            else if(n%8==7||n%8==-1)            {                for(int j=0;j<i;j++)                putchar(' ');                printf("%c\n",str[i]);            }        }    }    return 0;}


原创粉丝点击