比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
AAAAAAAWWW |
题目名称 |
Asm.Def的命令 |
最终得分 |
70 |
用户昵称 |
321Rain |
运行时间 |
7.909 s |
代码语言 |
C++ |
内存使用 |
1.66 MiB |
提交时间 |
2015-10-31 10:11:06 |
显示代码纯文本
#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;
//cout<<ask(x,x,1).x<<" "<<ask(x,x,1).y<<endl;
printf("%.1lf %.1lf\n",a[y].x,a[y].y);
}
else if (x==1)
{
int ai,bi,dx,dy;
cin>>ai>>bi>>dx>>dy;
//change(1,a,b,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;
}