আমি ম্যানহাটনে ঘুরে বেড়াচ্ছি, আমি আমার হোটেল থেকে কত দূরে?


27

অপ্রয়োজনীয় ও সংশ্লেষিত গল্প

আমি ম্যানহাটনে ঘুরে বেড়াচ্ছি, অবরুদ্ধভাবে ব্লক এবং আমার পা ক্লান্ত হয়ে গেছে এবং বাড়ি ফিরে যেতে চাই।

ট্র্যাফিক বেশ খারাপ, তবে ভাগ্যক্রমে আমি খুব ধনী এবং হোটেলে আমার স্ট্যান্ডবাইতে একটি হেলিকপ্টার রয়েছে have তবে আমার তাদের বিমানের জন্য কতটা জ্বালানী প্যাক করতে হবে তা জানতে এবং তার জন্য তাদের হোটেল থেকে আমার সরাসরি দূরত্ব জানতে হবে। আমি কোন ব্লকগুলি হেঁটেছি তা আমি মনে করি নি এবং আমি কী রুট নিয়েছি তা তাদের বলতে পারি। এই দূরত্বটি সুনির্দিষ্ট হওয়া দরকার যদিও সেগুলি খুব কম হলে আমরা এটিকে আর ফিরিয়ে আনব না, দীর্ঘ এবং আমি জ্বালানি কিনেছি যা আমি ব্যবহার করতে পারি না।

এটিকে দূরত্বে রূপান্তর করার জন্য আপনি কি আমাকে একটি প্রোগ্রাম লিখতে পারেন যে তারা আমাকে আনতে তাদের ফ্লাইটে ভ্রমণ করতে হবে?

স্পেসিফিকেশন:

আমাকে একটি ফাংশন লিখুন যে:

  1. একটি তালিকার স্ট্রাকস গ্রহণ করে বা স্ট্রাইককে স্বেচ্ছাসেবী গ্রিডের সাথে তুলনা করে:
    • ইউ পি, ডি নিজস্ব, এল ইফ্ট এবং আর ight ।
    • উচ্চতর বা নিম্নতর ক্ষেত্রে হতে পারে - যেমন। যদি এর চেয়ে খাটো ব্যবহারের uপরিবর্তে Uএগিয়ে যায়।
    • একটি অবৈধ দিকনির্দেশে আচরণের সংজ্ঞা রয়েছে - যেমন। এক্স এর দিকনির্দেশ ব্যর্থতার কারণ হতে পারে।
  2. উত্স বিন্দু থেকে সোজা রেখার দূরত থেকে দ্বিগুণ যে ফ্লোট / দশমিক / দ্বিগুণ ফেরত দেয়।

উদাহরণ এবং স্পষ্টতার জন্য:

আমার ভ্রমন

আমার ট্রিপটি ঠিক তত সহজেই রেকর্ড করা যেতে পারে "luluu..."বা ['l','u','l'...]এটি অবশ্যই উপরে, ডাউন, বাম, ডান হিসাবে রেকর্ড করা উচিত।


15
আপনি একটি হেলিকপ্টার পেতে যথেষ্ট ধনী কিন্তু আপনি কিছু বাড়তি জ্বালানী কেনা যদি যত্ন? : ও
ফেজে ভ্রাস্টা

8
@ ফেজভ্রাস্টা কারণ আমি কৃপণ।

7
ম্যানহাটনের দূরত্ব সম্পর্কে এটি না তৈরি করে আমার মাথার সাথে গোলযোগের উপায়।
কেন্ডাল ফ্রে

25
সঠিক উত্তরটি "এটি কোনও ব্যাপার নয় doesn't আপনি ধনী লোক, তাই আপনি নিজের পকেটে পৌঁছান, ২০ ডলার এর একটি প্যাঁচ টানুন এবং একটি ক্যাবির দৃষ্টি আকর্ষণ করতে বাতাসে এটি তরঙ্গ করুন; আপনি তারপরে কিন্ডারগার্টেন গুন্ডাদের একটি গ্রুপের উপর চাপিয়ে দেওয়া যিনি আপনাকে ছিনতাই করেছিলেন এবং আপনাকে রক্তাক্ত সজ্জার কাছে মারধর করেছেন then তারপরে আপনাকে জঞ্জাল এবং জনমনে অস্পষ্টতার জন্য গ্রেপ্তার করা হয়েছে, জনসাধারণের মধ্যে আপনার শারীরিক প্রসারকে ছড়িয়ে দিয়ে ব্যাপক আতঙ্ক ও মহামারী সৃষ্টির জন্য সন্ত্রাসবাদের অভিযোগ আনা হয়েছে ফুটপাথ, দোষী সাব্যস্ত জেলে পাঠানো, এবং একটি cellmate ডাকনাম Brutus এমন একজন লাগে আপ লক বাস্তব আপনাকে শক্তিশালী পছন্দ। নিউ ইয়র্ক স্বাগতম! "
বব জার্ভিস - মনিকা

2
@ এমসি কে আমি এটিকে কোনও মানচিত্রে দিকনির্দেশ হিসাবে ব্যাখ্যা করি, (অন্যথায় এটি সম্ভবত "এগিয়ে" এবং "পিছনে" থাকত), এবং দূরত্বের পরিমাপটি "উত্সের বিন্দু থেকে সোজা রেখার দূরত্বের দ্বিগুণ" চেয়ে দ্ব্যর্থহীন so ম্যানহাটনের দূরত্ব)।
ফায়ারফ্লাই

উত্তর:


32

জে, 17 টি অক্ষর

2*|+/0j1^'urdl'i.

সত্যটি ব্যবহার করে, যে শক্তিগুলি jসঠিক দিকনির্দেশনা উপস্থাপন করে।

  • 'urdl'i. স্ট্রিং নিন এবং সূচকগুলি গণনা করুন ('ইউ' এর জন্য 0, 'আর' এর জন্য 1, ...)
  • 0j1^এর অনুরূপ শক্তি ব্যবহার করে জটিল প্লেনের দিকনির্দেশে রূপান্তরিত করে j
  • +/ একক পদক্ষেপের যোগফল
  • 2*| মডুলাস দ্বিগুণ

উদাহরণ:

> 2*|+/0j1^'urdl'i.'uuuudrrrl'
7.2111

5
সুন্দর কাজ. জয়ের জন্য গণিতের জ্ঞান। :-)
গ্যারেথ

এটিকে "অ-বর্ধিত" এএসসিআইআই করুন এবং তারপরে এটি কেবল 15 বাইট (কারণ আপনি অষ্টম বিটটি ব্যবহার করেন না)।
টিমটেক

11

পাইথন 2.7 56 58 56 51 48

স্ক্রুজ ম্যাকডাক থেকে চুরি হওয়া নম্বর ওয়ান ডাইম দিয়ে আমি আমার ভাগ্য তৈরি করেছি এবং এখন স্ক্রুজের চেয়ে বেশি সম্পদ রয়েছে।

y=lambda s:2*abs(sum(1j**(ord(i)%15)for i in s))

পাইথন 2.7 - 61 53 50 (সংবেদনশীল ক্ষেত্রে)

y=lambda s:2*abs(sum(1j**(ord(i)%16%9)for i in s))

বাস্তবায়ন

>>> from random import sample
>>> y=lambda s:2*abs(sum((-1j)**(ord(i)%15)for i in s))
>>> path=sample('RLUD'*1000, 100)
>>> y(path)
20.0
>>> path=sample('RLUD'*1000, 100)
>>> y(path)
34.058772731852805

আমি হচ্ছি IndexError: list index out of range। ইনপুটটির কী ফর্ম থাকা উচিত?
প্ল্যানাপাস

@ প্লানাপাস: আমি একটি বাস্তবায়ন বিভাগ যুক্ত করেছি
অভিজিৎ

আহ এবং এটা ছিল %5না %8। ঠিক আছে এটি এখন আরও
সার্থক

5

এপিএল (২৯)

{|+/2 0j2×-⌿2 2⍴+/'URDL'∘.=⍵}

যেমন

     {|+/2 0j2×-⌿2 2⍴+/'URDL'∘.=⍵} 'UUUUDRRRL'
7.211102551

ব্যাখ্যা:

  • +/'URDL'∘.=⍵: URDLআর্গুমেন্টে অক্ষরগুলি কতবার ঘটে তা দেখুন
  • -⌿2 2⍴: বিয়োগ Uথেকে মান Dমান, এবং Rথেকে মান Lমান
  • 2 0j2×: উল্লম্ব মান দ্বারা 2এবং অনুভূমিক মান দ্বারা গুন করুন2i
  • +/: যোগফল
  • |: মাত্রা

4

রুবি 1.9+ (67)

f=->s{2*(((g=s.method :count)[?U]-g[?D])**2+(g[?R]-g[?L])**2)**0.5}

উদাহরণ

f["DRUULULLULL"] => 10.0
f["UUUUDRRRL"] => 7.211102550927978

3

perl6: 44 অক্ষর

2*abs [+] i <<**>>%(<U R D L>Z ^4){get.comb}
  • get.comb ইনপুটগুলির একটি লাইন পায় এবং অক্ষরে বিভক্ত হয়
  • <U R L D> এই ক্ষেত্রে শব্দের তালিকা, অক্ষর
  • (1,2,3) Z (4,5,6)== (1,2), (2,5), (3,6), সুতরাং এটি পার্সেলের একটি তালিকা তৈরি করে একে একে একে একে 2 টি জিপ করে যা একটি হ্যাশে %()পরিণত হয়
  • <<**>>জোড় করে **, দীর্ঘতর ফিটের জন্য সংক্ষিপ্ত তালিকাটি প্রসারিত করে। সংক্ষিপ্ত তালিকা শুধুমাত্র হয়i
  • [+]একটি তালিকার সমস্ত উপাদানকে যোগ করে, absজটিল সংখ্যার জন্য মডুলাস নেয়

হ্যাঁ, আমি সমস্ত সম্ভাব্য স্থান সরিয়েছি।


2

পাইথন 2.7 - 65

সুন্দর এবং সংক্ষিপ্ত এক, এটি প্লেনটিতে পা রাখতে জটিল সংখ্যা ব্যবহার করে:

x=lambda s:2*abs(sum([[1,-1,1j,-1j]['RLUD'.index(i)]for i in s]))

ডিএসএম এবং অভিজিৎকে অন্য প্রশ্নগুলিতে প্রপস যা আমাকে এটি 1jগণনার জন্য ব্যবহার দেখিয়েছিল ।


পারি 1jহিসেবে লেখা যেতে j, -1jযেমন -j? এছাড়াও, এটি কি হ্যান্ডেল উপরের এবং নিম্ন ইনপুট, বা কেবল উপরের?
ডেভিডসি

1
চাচা স্ক্রুজ , আমি তোমাকে ঘৃণা করি। আপনার ভাগ্নের জন্য আপনার কমপক্ষে কিছু টাকা রাখা উচিত।
অভিজিৎ

1
@ ডেভিডকারারহর: না আপনি পারবেন না। ভেরিয়েবল jএবং কাল্পনিক ইউনিটের মধ্যে পার্থক্য করা অসম্ভবj
অভিজিৎ

আপনি কি বলেন নি যে দূরত্বের দ্বিগুণ আউটপুট দেওয়ার কথা ছিল ? UUUUDRRRL দিয়ে চেষ্টা করার সময় আমি 7.21 এর পরিবর্তে এই ফাংশনটির সাথে 3.606 পাচ্ছি।
প্ল্যানাপাস

4
2চূড়ান্ত ফলাফলকে গুণিত না করে স্থির সংখ্যাগুলি গুণ করে আপনি আরও 2 টি অক্ষর সংরক্ষণ করতে পারেন ।
অভিজিৎ

2

ম্যাথমেটিকা 92 49

কোডটি সুবিন্যস্ত করার জন্য কল পুরো creditণের দাবিদার।

f@l_:=2 N@Norm[Tr[l/.{"r"→1,"l"→-1,"u"→I,"d"→-I}]]

উদাহরণ

f[{"u", "u", "u", "u", "d", "r", "r", "r", "l"}]

7,2111


1
আপনি প্রচুর কাজ করছেন যা অপের প্রয়োজন হয় না, f@l_ := 2 N@Norm[Tr[l /. {"r" -> 1, "l" -> -1, "u" -> I, "d" -> -I}]]যথেষ্ট হবে।

আমি 2 Norm[(2. + 2. I) + "U" + "X"]আপনার কোড জন্য আউটপুট হিসাবে পেতে ।
ডেভিডসি

1
হ্যাঁ, তবে ওপি বলছে যে এই জাতীয় ইনপুট দিয়ে ব্যর্থ হওয়া ঠিক। আমি এবং অন্য সবাই এটির ব্যাখ্যা করি। আমি এই অন্যান্য ভাষা পড়তে পারি না তবে আপনি দেখতে পাবেন যে তারা প্রায়ই আপনার, r, l এবং d এর জন্য হার্ডকোড করে।

ঠিক আছে. বুঝেছি. যে ইশারা জন্য ধন্যবাদ।
ডেভিডসি

যদি আপনি দুটি দুটি বন্ধনীর @s এর সাথে প্রতিস্থাপন করেন তবে আপনি আরও দুটি অক্ষর কম পাবেন।
shx

2

পিএইচপি, 67

function f($a){foreach($a as$d)@$$d++;return 2*hypot($U-$D,$L-$R);}

উদাহরণ:

<?php
var_dump(f(array('U', 'U', 'U', 'U', 'D', 'R', 'R', 'R', 'L')));

>float(7.211102550928)

2

জুলিয়া, 45

f(l)=2*abs(sum([im^(c=='d'?3:c) for c in l]))

iক্ষমতা কৌশলে চুরি করেছে । এছাড়াও ডি ব্যতীত সমস্ত অক্ষরের মান রয়েছে যা গ্রহণযোগ্য শক্তি হিসাবে কাজ করে i


1

জে, 29 টি অক্ষর

+:+&.*:/-/_2[\#/.~/:~'ruld'i.

শুধু ছোট হাতের দিকনির্দেশ এবং কোন ব্যতীত অন্য অক্ষর সঙ্গে কাজ করে r, u, l, এবং dএটি একটি ভুল উত্তর দিতে হবে।

ব্যবহার:

   +:+&.*:/-/_2[\#/.~/:~'ruld'i.'uuuudrrrl'
7.2111

ব্যাখ্যা:

'ruld'i.'uuuudrrrl'i.বাম আর্গুমেন্টে ডায়াডিক ফর্মটি ডান যুক্তি থেকে আইটেমের সূচকটি সন্ধান করে। এক্ষেত্রে:

   'ruld'i.'uuuudrrrl'
1 1 1 1 3 0 0 0 2

/:~ এই তালিকাটিকে আরোহণের ক্রমে সাজানো:

   /:~'ruld'i.'uuuudrrrl'
0 0 0 1 1 1 1 2 3

#/.~ প্রতিটি সংখ্যার উপস্থিতির সংখ্যা গণনা করে:

   #/.~/:~'ruld'i.'uuuudrrrl'
3 4 1 1

_2[\ এটি 2 সারিতে ছড়িয়ে দিন:

   _2[\#/.~/:~'ruld'i.'uuuudrrrl'
3 4
1 1

-/ উপর থেকে নীচে বিয়োগ করে

   -/_2[\#/.~/:~'ruld'i.'uuuudrrrl'
2 3

+&.*:আমি আজ সকালে দেখেছি এমন অন্য জে জবাব থেকে একটি কৌশল ধার করে , এবং আইটেমগুলি বর্গক্ষেত্র করে, তারপরে যোগফলগুলি দেয়, তারপরে একটি বর্গমূল তৈরি করে। ডকুমেন্টেশনের অধীনে&. দেখুন :

   +&.*:/-/_2[\#/.~/:~'ruld'i.'uuuudrrrl'
3.60555

+: ফলাফল দ্বিগুণ:

   +:+&.*:/-/_2[\#/.~/:~'ruld'i.'uuuudrrrl'
7.2111

1

আর, 86 74 56 টি অক্ষর

ঠিক আছে এটি সত্যই কল্পিত সংখ্যার সাথে সংক্ষিপ্তভাবে:

2*Mod(sum(sapply(scan(,""),switch,u=1i,d=-1i,l=-1,r=1)))

ব্যবহার:

> 2*Mod(sum(sapply(scan(,""),switch,u=1i,d=-1i,l=-1,r=1)))
1: u u u u d r r r l
10: 
Read 9 items
[1] 7.211103

Xy কর্ড সহ 74 টি অক্ষরে পুরানো সমাধান:

2*sqrt(sum(rowSums(sapply(scan(,""),switch,u=0:1,d=0:-1,l=-1:0,r=1:0))^2))

ব্যবহার:

> 2*sqrt(sum(rowSums(sapply(scan(,""),switch,u=0:1,d=0:-1,l=-1:0,r=1:0))^2))
1: u u u u d r r r l
10: 
Read 9 items
[1] 7.211103

স্টিডিন হিসাবে ইনপুট নেয়, লোয়ার-কেস এবং স্পেস-বিভাজিত হওয়া দরকার। (0,0) থেকে শুরু হওয়া এক্সআই স্থানাঙ্ক ব্যবহার করুন।


1

কে ( 50 49)

{2*sqrt x$x:0 0f+/("udlr"!(1 0;-1 0;0 -1;0 1))@x}

উদাহরণ

{2*sqrt x$x:0 0f+/("udlr"!(1 0;-1 0;0 -1;0 1))@x}"uuuudrrrl"
7.211103

1

জাভা, 185, 203 , 204 , 217 , 226

class A{public static void main(String[] a){int x=0,y=0;for(int i=0;i<a[0].length();i++) switch(a[0].charAt(i)){case'U':y++;break;case'D':y--;break;case'L':x++;break;case'R':x--;}System.out.print(Math.hypot(x,y)*2);}}

আমি ধরে নিয়েছি যে প্রতিটি "ইউ" "1 আপ", সুতরাং দুটি ইউনিট "ইউইউ" হবে

সম্পাদনা: আইএফএস-এর জন্য স্যুইচ আউট সুইচ

class A{public static void main(String[]a){int x=0,y=0;for(int i=0;i<a[0].length();i++){int c=a[0].charAt(i);if(c=='U')y++;if(c=='D')y--;if(c=='L')x++;if(c=='R')x--;}System.out.print(Math.hypot(x,y)*2);}}

পুনরুক্তির জন্য সরানো হয়েছে

class A{public static void main(String[]a){int x=0,y=0;for(int i=0;i<a[0].length();){int c=a[0].charAt(i++);if(c=='U')y++;if(c=='D')y--;if(c=='L')x++;if(c=='R')x--;}System.out.print(Math.hypot(x,y)*2);}}

আর স্ট্রিং হিসাবে ইনপুট নেয় না, বরং দিকনির্দেশের অ্যারে

class A{public static void main(String[]a){int x=0,y=0;for(String s:a){char c=s.charAt(0);if(c=='U')y++;if(c=='D')y--;if(c=='L')x++;if(c=='R')x--;}System.out.print(Math.hypot(x,y)*2);}}

সংক্ষিপ্ত সম্পর্কে আমার বোধগম্যতা হল যে আপনার কেবল একটি প্রোগ্রাম প্রয়োজন, পুরো প্রোগ্রাম নয়।
বোয়ান

1

টি এসকিউএল, 158

IF PATINDEX('%[^UDLR]%', @s)=0 select 2*sqrt(power(LEN(REPLACE(@s,'U',''))-LEN(REPLACE(@s,'D','')),2)+power(LEN(REPLACE(@s,'L',''))-LEN(REPLACE(@s,'R','')),2))

@S হ'ল ভারচার (সর্বোচ্চ) ধরণের ইনপুট স্ট্রিং


1

ES6, 77 69

সংজ্ঞা:

f=s=>{u=d=l=r=0;for(c of s)eval(c+'++');return 2*Math.hypot(u-d,l-r)}

ব্যবহার:

>>> f('uuuudrrrl')
7.211102550927979
>>> f( 'uuuudrrrl'.split('') )
7.211102550927979
  • স্ট্রিং বা অ্যারে গ্রহণ করে (ছোট হাতের অক্ষর)
  • কাল্পনিক সংখ্যা ব্যবহার করে না
  • ওপি প্রশ্ন পোস্ট করার মাত্র 3 দিন আগে সম্ভব হত না ; অর্থাৎ এটি কেবল ফায়ারফক্স ২+++ এ চলে (এবং সম্ভবত পরীক্ষামূলক সামগ্রী সক্ষম ক্রোমও পরীক্ষিত হয়নি) !!

(বোয়ান এর উত্তরে আংশিকভাবে অনুপ্রাণিত।)


আমি রিটার্ন থেকে মুক্তি পাওয়ার জন্য সত্যই কূটকৌশলপূর্ণ কিছু করতে চাই, যেমন পুরো জিনিসটিকে বুলিয়ান অভিব্যক্তিতে পরিণত করা যা কেবল মূল্যায়ন করা হয় এবং স্বয়ংক্রিয়ভাবে ফিরে আসে, তবে আমি নিশ্চিত না যে আমি যদি কিছুটির সাথে forবিবৃতিটি প্রতিস্থাপন না করতে পারি তবে এটি করার কোনও উপায় নেই। অভিব্যক্তি (বিবৃতি সম্বলিত একটি তীর ফাংশন বডিটির জন্য বন্ধনী এবং স্পষ্ট প্রত্যাবর্তনের প্রয়োজন, কেবলমাত্র অভিব্যক্তিযুক্ত দেহগুলি না) ..
ন্যো

1

জাভাস্ক্রিপ্ট - 142 টি অক্ষর - কোনও খণ্ডন ()

function r(a){return Math.sqrt(Math.pow(a.match(/u/g).length-a.match(/d/g).length,2)+Math.pow(a.match(/l/g).length-a.match(/r/g).length,2))*2}

যেখানে একটি 'uudrrl' এর মতো একটি স্ট্রিং

এটি ব্যবহার করুন -

a='uudrrl'
r(a)

ব্রাউজার কনসোলে পরীক্ষা করুন।

var x = "luluurrrrurd"
r(x)
8.48528137423857

1

সি # - 90 টি অক্ষর

লিনকিউপ্যাড থেকে নতুন।

int x=0,y=0;input.Max(i=>i==85?y++:i==82?x++:i==68?y--:x--);(Math.Sqrt(x*x+y*y)*2).Dump();

যেখানে ইনপুটটি একটি বৈধ স্ট্রিং।

>string input = "LULUURRRRURD";

>8.48528137423857

0

বেফুঞ্জ -৩৩ () 65)

এতে 65 টি নন-হোয়াইটস্পেস অক্ষর রয়েছে (হোয়াইটস্পেস সহ 217, যদিও এটি আরও কমপ্যাক্ট লেআউট দ্বারা হ্রাস করা যেতে পারে (69/176 অক্ষরের জন্য))। এটি আউটপুট ফর্ম্যাটটির সাথে কিছু উদারতা নেয় তবে এটি অনস্বীকার্যভাবে সঠিক। বর্গমূলের প্রয়োগ বাস্তবায়ন / চুরি করার প্রচেষ্টাটি উপযুক্ত বলে মনে হচ্ছে না।

v                  >$:*\:*+88*4*5-2.,.@
               >3-:|
           >6-:|
       >8-:|
>~"D"-:|
       $   $   $   $
           \   \
       1   1   1   1
       -   -   +   +
           \   \
^      <   <   <   <

echo 'UUDLLUU' | ./befungee.py ../man আউটপুট 2√13 (বাস্তবে বাস্তবায়নের ক্ষেত্রে বর্ধিত ASCII তে সমস্যা হয়েছে বলে মনে হচ্ছে)।


0

মতলব, ৫১ টি অক্ষর

আমার মতলব জমা, কেবলমাত্র অক্ষরযুক্ত অক্ষরের সাথে কাজ করে। এটি একটি মজার এক! সবচেয়ে শক্ত অংশটি সংক্ষিপ্ত হওয়ার জন্য স্ট্রিংটিকে জটিল সংখ্যার অ্যারে রূপান্তরিত করছিল।

ফাংশন:

f=@(s)abs(sum(fix((s-76.5)/8.5)+((s-79)*i/3).^-99))

ব্যবহার:

>> f=@(s)abs(sum(fix((s-76.5)/8.5)+((s-79)*i/3).^-99))
>> f('UURDL')
ans =

     1
>>

0

জাভাস্ক্রিপ্ট, 136

function z(a){var x=a.split('u').length-a.split('d').length;var y=a.split('r').length-a.split('l').length;return Math.sqrt(x*x+y*y)*2;};
document.write(z('uuuudrrrwl'));
7.211102550927978

0

জাভাস্ক্রিপ্ট, 89

function f(a){U=D=L=R=0;for(d in a)eval(a[d]+'++');return 2*Math.sqrt((U-=D)*U+(L-=R)*L)}

উদাহরণ:

<script>
document.write(f(['U', 'U', 'U', 'U', 'D', 'R', 'R', 'R', 'L']));
</script>

>7.211102550927978

0

সি, 120

float d(char *p){int v=0,h=0;while(*p){v+=*p=='U'?1:*p=='D'?-1:0,h+=*p=='R'?1:*p=='L'?-1:0,++p;}return 2*sqrt(v*v+h*h);}

d("LULUURRRRURD") -> 8.485281


0

জাভাস্ক্রিপ্ট (কোনও ES6 নেই, কোনও খণ্ডন নেই) - 131

f=function(h){for(i=0,a=[0,,0,0,0];i<h.length;++i)++a[(h.charCodeAt(i)>>2)-25];x=a[0]-a[4];y=a[2]-a[3];return Math.sqrt(x*x+y*y)*2}

টেস্ট:

console.log(f('uuuudrrrl'));     // 7.211102550927978 
console.log(f('luluurrrrurd'));  // 8.48528137423857
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.