Gym-101505D Rotating Display [模拟]

题意:给你10个符号,8种旋转与翻转,求最后的图形。

题解:我们只需要维护坐标的变化就可以了,由于坐标的变化x或y可以表示为四种参数a*n+b*i+c*c+d,所以我们用一个两个一维矩阵,维护x与y的变化。

然后对于符号来说,直接改变符号模拟就可以了。

AC代码:

#include
#include
#include
using namespace std;
char a[105][105],op[1000005],ans[105][105];
char c[7]="<>-|/\\",bj[11]="-/<>\\^ovx|",C[11]="-/<>\\^ovx|";
int mp[205],mmp[205];
char change[6][11]={"|\\v^/x-","|\\^v/>o/vo^x|","-\\>ox-"
};
struct node
{int p[4];
}now[2];
void fu(node& a)
{for(int i=0;i<4;i++)a.p[i]=-a.p[i];
}
int main()
{for(int i=0;i<6;i++)mp[c[i]]=i;for(int i=0;i<10;i++)mmp[bj[i]]=i;int n;while(~scanf("%d",&n)){for(int i=0;i<4;i++)now[0].p[i]=now[1].p[i]=0;now[0].p[1]=now[1].p[2]=1;for(int i=0;i<10;i++)bj[i]=C[i];for(int i=1;i<=n;i++)scanf("%s",a[i]+1);getchar();gets(op);int l=strlen(op);for(int i=0;i



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部