回复:(Soulink)有个关于ACM的题,个人觉得很有意思...
0.06S左右解决的话直接模拟查找过程做就好了
#include<stdio.h>
#include<math.h>
#define pi 3.14159265358979
int main()
{
int i;
double MAXY=log(tan(pi/4+85*pi/360));
double x,y,xx,yy;
while(scanf("%lf%lf%d",&x,&y,&i)!=EOF)
{
for(xx=90,yy=MAXY/2,y=log(tan(pi/4+pi*y/360)),printf("t");i;i--,xx/=2,yy/=2)
if(x>=0&&y>=0) {printf("r");x-=xx;y-=yy;}
else if(x>=0&&y<=0) {printf("s");x-=xx;y+=yy;}
else if(x<=0&&y<=0) {printf("t");x+=xx;y+=yy;}
else {printf("q");x+=xx;y-=yy;}
printf("\n");
}
return 1;
}





2007-10-3 18:29
