# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
90732 | YottaByte | Experiments with Gorlum (IZhO13_expgorl) | C++14 | 2 ms | 360 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
#define pb push_back
#define mk make_pair
#define fr first
#define sc second
#define ll long long
void FS() {
cout << fixed << setprecision(48);
}
main()
{
FS();
int k, lx, ly, gx, gy;
string s;
cin >> k >> s;
cin >> lx >> ly;
cin >> gx >> gy;
//string ss = "";
//for(int i = 0; i < k; i++)
//ss += s;
//s = ss;
int sx = gx;
int sy = gy;
double distmn = hypot((gy - ly), (gx - lx));
double distmx = hypot((gy - ly), (gx - lx));
double distmn1 = hypot((gy - ly), (gx - lx));
double distmx1 = hypot((gy - ly), (gx - lx));
for(int i = 0; i < s.size(); i++)
{
gx -= (s[i] == 'L');
gx += (s[i] == 'R');
gy += (s[i] == 'F');
gy -= (s[i] == 'B');
distmx1 = max(distmx1, hypot((gy - ly), (gx - lx)));
distmn1 = min(distmn1, hypot((gy - ly), (gx - lx)));
}
int diffx = gx - sx;
int diffy = gy - sy;
for(int i = 1; i < k; i++)
{
gx += diffx;
gy += diffy;
distmx1 = max(distmx1, hypot((gy - ly), (gx - lx)));
distmn1 = min(distmn1, hypot((gy - ly), (gx - lx)));
}
cout << distmn1 << " " << distmx1 << endl;
}
/*
100000
LRFBI
10000 10000
10000 10000
*/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |