比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 AAAAAAAWWW
题目名称 Asm.Def的命令 最终得分 70
用户昵称 Ten.X 运行时间 8.521 s
代码语言 C++ 内存使用 1.84 MiB
提交时间 2015-10-31 10:48:11
显示代码纯文本
#include<cstdio>
#include<queue>
#include<vector>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn=100010;
struct N{
	double x, y;
};
N a[maxn];
int n;
int main()
{
	freopen("asm_command.in","r",stdin);
	freopen("asm_command.out","w",stdout);
    cin>>n;
    for (int i=1;i<=n;i++)
     a[i].x=0,a[i].y=i;
    int q;
    cin>>q;
    for (int i=1;i<=q;i++)
    {
    	int x;
    	cin>>x;
    	if (!x)
    	{
    		int y;
    	    cin>>y;
    		printf("%.1lf %.1lf\n",a[y].x,a[y].y);
		}
		else if (x==1)
		{
			int ai,bi,dx,dy;
			cin>>ai>>bi>>dx>>dy;
			for (int j=ai;j<=bi;j++)
			 a[j].x+=dx,a[j].y+=dy;
		}
		else 
		{
			int y,z,deg;
			cin>>y>>z>>deg;
	        if (deg==90)
	        {
	        	for (int j=y;j<=z;j++)
	        	{
	        			int t=a[j].x;
	        			a[j].x=-a[j].y;
	        			a[j].y=t;	
				}
			}
			else if (deg==180)
			{
				for (int j=y;j<=z;j++)
				{
					a[j].x=-a[j].x;
					a[j].y=-a[j].y;
				}
			}
			else if (deg==270)
			{
				for (int j=y;j<=z;j++)
				{
					int t=a[j].y;
					a[j].y=-a[j].x;
					a[j].x=t;
				}
			}
		}
	}
	return 0;
}