代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=1e5+5;
struct zdx
{
int x,y,l;
}a[maxn];
bool cmp(zdx s,zdx s1)
{
return s.l<s1.l;
}
int n,cnt;
signed main()
{
scanf("%lld",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld%lld",&a[i].x,&a[i].y);
if(a[i].x==0) cnt+=2;
if(a[i].y==0) cnt+=2;
a[i].l=sqrt(a[i].x*a[i].x+a[i].y*a[i].y);
}
sort(a+1,a+n+1,cmp);
printf("%lld\n",6*n-cnt);
for(int i=1;i<=n;i++)
{
if(a[i].x!=0) a[i].x>0?printf("1 %lld R\n",a[i].x):printf("1 %lld L\n",-a[i].x);
if(a[i].y!=0) a[i].y>0?printf("1 %lld U\n",a[i].y):printf("1 %lld D\n",-a[i].y);
printf("2\n");
if(a[i].x!=0) a[i].x>0?printf("1 %lld L\n",a[i].x):printf("1 %lld R\n",-a[i].x);
if(a[i].y!=0) a[i].y>0?printf("1 %lld D\n",a[i].y):printf("1 %lld U\n",-a[i].y);
printf("3\n");
}
return 0;
}
我的答案
599964
1 14 R
1 1 U
2
1 14 L
1 1 D
3
1 14 R
1 3 D
2
1 14 L
1 3 U
3
1 7 L
1 32 U
2
1 7 R
1 32 D
3
1 47 L
1 23 D
2
1 47 R
1 23 U
3
1 6 R
1 59 U
2
1 6 L
1 59 D
3
1 17 R
1 64 U
2
1 17 L
1 64 D
3
1 38 R
1 57 D
2
1 38 L
1 57 U
3
1 58 L
1 49 D
2
1 58 R
1 49 U
3
1 2 R
1 76 U
2
1 2 L
1 76 D
3
1 75 R
1 13 D
2
1 75 L
1 13 U
3
1 81 R
1 29 D
2
1 81 L
1 29 U
3
1 29 L
1 86 U
2
1 29 R
1 86 D
3
1 78 L
1 51 U
2
1 78 R
1 51 D
3
1 7 R
1 93 D
2
正解
599964
1 14 R
1 1 U
2
1 14 L
1 1 D
3
1 14 R
1 3 D
2
1 14 L
1 3 U
3
1 7 L
1 32 U
2
1 7 R
1 32 D
3
1 6 R
1 59 U
2
1 6 L
1 59 D
3
1 47 L
1 23 D
2
1 47 R
1 23 U
3
1 2 R
1 76 U
2
1 2 L
1 76 D
3
1 17 R
1 64 U
2
1 17 L
1 64 D
3
1 75 R
1 13 D
2
1 75 L
1 13 U
3
1 38 R
1 57 D
2
1 38 L
1 57 U
3
1 7 R
1 93 D
2
1 7 L
1 93 U
3
1 58 L
1 49 D
2
1 58 R
1 49 U
3
1 81 R
1 29 D
2
1 81 L
1 29 U
3
1 29 L
1 86 U
2
1 29 R
1 86 D
3
1 78 L
1 51 U
2