Submission #4769

#TimeUsernameProblemLanguageResultExecution timeMemory
4769gs13068Experiments with Gorlum (IZhO13_expgorl)C++98
40 / 100
1000 ms1188 KiB
#include<cstdio>
#include<cmath>
#include<cstring>

char str[10002];
int x[10000];
int y[10000];

int main()
{
	int a,b,c,d;
	int i,j,n,k;
	long double min=1.0E6,max=0.0,temp;
	scanf("%d%s%d%d%d%d",&k,str+1,&a,&b,&c,&d);
	n=strlen(str+1);
	x[0]=c-a;
	y[0]=d-b;
	for(i=1;i<=n;i++)
	{
		x[i]=x[i-1];
		y[i]=y[i-1];
		switch(str[i])
		{
		case 'L':
			x[i]--;
			break;
		case 'R':
			x[i]++;
			break;
		case 'F':
			y[i]++;
			break;
		case 'B':
			y[i]--;
			break;
		}
	}
	for(i=0;i<=n;i++)
	{
		for(j=0;j<k;j++)
		{
			temp=sqrtl(1LL*(x[i]+j*(x[n]-x[0]))*(x[i]+j*(x[n]-x[0]))+1LL*(y[i]+j*(y[n]-y[0]))*(y[i]+j*(y[n]-y[0])));
			if(temp<min)min=temp;
			if(temp>max)max=temp;
		}
	}
	printf("%.20Lf %.20Lf",min,max);
}
#Verdict Execution timeMemoryGrader output
Fetching results...