Submission #84428

#TimeUsernameProblemLanguageResultExecution timeMemory
84428talipExperiments with Gorlum (IZhO13_expgorl)C++14
0 / 100
287 ms504 KiB
#include <bits/stdc++.h> #define ld long double #define calc() sqrtl((lax-gox)*(lax-gox)+(lay-goy)*(lay-goy)) using namespace std; ld mini(ld a, ld b){ if(a>b){ return b; } return a; } ld maxi(ld a, ld b){ if(a>b){ return a; } return b; } /* ld calc(ld lax, ld lay, ld gox, ld goy){ return ; }*/ int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ld k; string s; cin >> k >> s; ld lax, lay, gox, goy; cin >> lax >> lay >> gox >> goy; ld mindis=calc(), maxdis; maxdis=mindis; ld dis=maxdis; s=" " + s; int x[10004], y[10004]; x[0]=lax-gox; y[0]=lay-goy; //cout << mindis << " " << maxdis; int n=s.length(); for(int i=1;n>=i;i++){ x[i]=x[i-1]; y[i]=y[i-1]; if(s[i]=='I'){ continue; } if(s[i]=='R'){ x[i]++; continue; } else if(s[i]=='L'){ x[i]--; continue; } else if(s[i]=='F'){ y[i]++; continue; } else if(s[i]=='B'){ y[i]--; continue; } } for(int i=0;n>=i;i++){ for(int j=0;k>j;j++){ dis=sqrtl(1LL*(x[i]+(x[n]-x[0])*j)*(x[i]+(x[n]-x[0])*j)+1LL*(y[i]+(y[n]-y[0])*j)*(y[i]+(y[n]-y[0])*j)); mindis=mini(mindis, dis); maxdis=maxi(maxdis, dis); } } /* for(int r=0;k>r;r++){ for(int i=0;s.length()>i;i++){ if(s[i]=='I')continue; if(s[i]=='R')gox++; else if(s[i]=='L')gox--; else if(s[i]=='F')goy++; else if(s[i]=='B')goy--; dis=calc(); mindis=mini(mindis, dis); maxdis=maxi(maxdis, dis); //cout << mindis << " " << maxdis << "\n"; } }*/ cout << setprecision(12) << fixed << mindis << " " << maxdis; }
#Verdict Execution timeMemoryGrader output
Fetching results...