সকেট - প্লাগ সামঞ্জস্য


19

ইলেক্ট্রনিক্স সহ ভ্রমণ সর্বদা মজাদার, বিশেষত যখন এগুলি চার্জ করার জন্য আপনাকে অ্যাডাপ্টারের প্রয়োজন হয়। আপনার চ্যালেঞ্জটি হ'ল কোনও প্রদত্ত প্লাগ কোনও প্রদত্ত সকেটের সাথে সামঞ্জস্যপূর্ণ কিনা তা খতিয়ে দেখে ভ্রমণকে কিছুটা সহজ করা।

চ্যালেঞ্জ

একটি প্লাগ প্রকার এবং সকেট প্রকার দেওয়া, একটি মান প্রদান করুন যা তারা একসঙ্গে কাজ করবে কিনা তা নির্দেশ করে।

সামঞ্জস্যতা টেবিল

Socket  Accepted plugs  |  Plug  Accepting Sockets
A       A               |  A     A, B
B       A, B            |  B     B
C       C               |  C     C, D, E, F, H, J, K, L, N, O
D       C, D, E, F      |  D     D
E       C, E, F         |  E     D, E, F, H, K, O
F       C, E, F         |  F     D, E, F, H, K, O
G       G               |  G     G
H       C, E, F, H      |  H     H
I       I               |  I     I
J       C, J            |  J     J
K       C, E, F, K      |  K     K
L       C, L            |  L     L
M       M               |  M     M
N       C, N            |  N     N
O       C, E, F, O      |  O     O

টেবিলগুলি একই তথ্য দেখায়, কেবল স্থানান্তরিত হয়।

রেফারেন্সের জন্য

ইনপুট

  • ইনপুটটি দুটি বড় হাতের অক্ষর বা দুটি ছোট হাতের অক্ষর (আপনি চয়ন করেছেন) হিসাবে দেওয়া হবে।

  • ইনপুটগুলি সর্বদা /[A-O]/(বা /[a-o]/) থাকবে, অবৈধ ইনপুটগুলি হ্যান্ডেল করার দরকার নেই।

  • আপনি কোনও ক্রমে দুটি ইনপুট গ্রহণ করতে পারেন (দয়া করে কোনটি নির্দিষ্ট করুন)।

  • ইনপুট যেকোন যুক্তিসঙ্গত বিন্যাসে নেওয়া যেতে পারে (স্ট্রিং, স্টিডিন, অ্যারে, ...)।

  • যদি আপনি উভয় ইনপুট একক স্ট্রিংয়ে নেন তবে সেগুলি একের বেশি অক্ষর দ্বারা পৃথক করা যায় এবং তাদের চারপাশে কিছুই থাকতে হবে না

  • গুড ইনপুট: "G,K", "EF", "a b",['l', 'o']

  • খারাপ ইনপুট: "K l", "f(O)(I)",[1,5]

আউটপুট

  • আউটপুট যে কোনও যুক্তিসঙ্গত বিন্যাসে ফিরে আসতে পারে ।

  • আউটপুট অবশ্যই হয় truthy/ falsyঅথবা 2 ধ্রুবক মানের একটি হতে হবে

  • ভাল ফলাফল: false/ any positive number, 1/ 2, 'T'/'F'

  • খারাপ ফলাফল: an even number/ an odd number, 1/more than 1

উদাহরণ

ফর্ম্যাটটি ব্যবহার করে socket, plug=> true/ false

A, A => true
I, K => false
O, C => true
C, O => false
E, F => true
F, E => true

স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।

এটি তাই প্রতিটি ভাষার সবচেয়ে কম বাইটের সাথে উত্তর জিততে পারে।


আমার দেশটি কেবল সি এবং এফ ব্যবহার করে, আমি জেও দেখেছি ... তবে কেন এত বেশি ???
অ্যালেক্সরেসার

1
@ অ্যালেক্স্রেসার এখানে কিছু পড়ুন , সেখানে অদ্ভুত শেভার প্লাগ এবং ইতালিয়ান অতিরিক্ত প্রশস্ত প্লাগ এবং কিছু অন্যান্য রয়েছে। ইউরোপলগ হ'ল মাস্টারপ্লাগ।
আসোন তুহিদ

উত্তর:



7

পাইথন 3 , 76 বাইট

lambda s,p:any([s==p,p in"CEF"and s in"DEFHKO",s=="B"<p,s in"JLN"and"C"==p])

এটি অনলাইন চেষ্টা করুন!

ক্রেডিট:


1
lambda s,p:any([s==p,p in"CEF"and s in"DEFHKO",s=="B"<p,s in"JLN"and"C"==p])76 বাইট জন্য?
নিল

@ নীল ধন্যবাদ আমি এটি আপডেট করেছি।
নিল

3
তাই মজার হাহা বেটার নীল
লুইস ফেলিপ দে জেসুস মুনোজ

6

পাইথন 3 , 72 বাইট 73 বাইট 70 বাইট

lambda p,s:s in{"A":"AB","C":y+"CJLN","E":y,"F":y}.get(p,p)
y="DEFHKO"

এটি অনলাইন চেষ্টা করুন!

সম্পাদনা করুন: কিছুটা ফ্যাট কাটানোর জন্য চ্যাস ব্রাউনকে ধন্যবাদ !


এমন একটি টাইপো পাওয়া গেছে যার ফলে সি, সি মিথ্যা ফিরে এসেছে।
machina.widmo

নিস! q=ফাংশনটি বেনামে হওয়ায় বাদ দেওয়া যেতে পারে। এছাড়াও, একটি অতিরিক্ত জায়গা আছে। 70 বাইট। এটি অনলাইনে চেষ্টা করুন।
চ্যাস ব্রাউন

ধন্যবাদ! কোনও কারণে আমি ভেবেছিলাম যে ল্যাম্বডা y টি ক্যাপচার করবে, যে কারণে আমি প্রথমে এটি সেভাবে লিখেছিলাম।
machina.widmo

পিপিসিজিতে স্বাগতম, এবং প্রথম প্রথম পোস্ট!
ব্যবহারকারী 202729

@ ব্যবহারকারী 202729: এর আগে দেখেনি; জানতে টিপস
চ্যাস ব্রাউন

4

সি (জিসিসি) (x86 আর্কিটেকচার), 76 60 বাইট

পরিবর্তনের জন্য অনেক ধন্যবাদ আরনাউল্ডকে!

যুক্তিগুলি (প্লাগ, সকেট) ক্রমে দেওয়া হয়।

c[15]={6,0,56696,0,35184,35184};f(a,b){a=a==b|c[a-65]>>b&1;}

এটি অনলাইন চেষ্টা করুন!


X86 আর্কিটেকচার সম্পর্কে আপনি এখানে সরবরাহ করেছেন উল্লেখটি ব্যবহার করে : আপনি 3 বাইট সংরক্ষণ করে সংরক্ষণ করতে পারেন 1<<~-b
আর্নৌল্ড

ডি এবং টেরিনারি অপারেটর থেকে মুক্তি পেয়ে 66 বাইট
আর্নৌল্ড

62 বিট বিটমাস্ক দ্বিগুণ করে। এখন জেলি এবং রেটিনা বাদে সমস্ত ভাষায় মারছে! \ o /
আর্নল্ড

1
60 বাইট শুধু তুলনা করে একটি সঙ্গে
আর্নৌল্ড

এর L"\6\0\xdd78\0襰襰"পরিবর্তে পরামর্শ দিন{6,0,56696,0,35184,35184}
সিলিংক্যাট


3

জাভাস্ক্রিপ্ট (নোড.জেএস) , by৯ বাইট

S=>P=>P==S|P<'B'&S<'C'|P=='C'&'JLN'[K='includes'](S)|'CEF'[K](P)&'DEFHKO'[K](S)

একটি ত্রিযুক্ত ফাংশন হিসাবে আমন্ত্রিত f(socket)(plug),।

এটি অনলাইন চেষ্টা করুন! (ফলাফলের একটি ম্যাট্রিক্স দেখাচ্ছে টেস্টকেসগুলি অন্তর্ভুক্ত।)


3

জেলি , 31 বাইট

Oḅ⁴_ȷe“j⁼⁽⁾ƇƑƓƘƝƤḄẸỊṂṢỴẒĊḞĿ‘o⁼/

অক্ষরগুলির একটি তালিকা গ্রহণ করে একটি মোনাডিক লিঙ্ক [plug,socket]যা 1সামঞ্জস্যপূর্ণ হয় বা 0না হলে ফলন করে ।

এটি অনলাইন চেষ্টা করুন! অথবা একটি পরীক্ষা-স্যুট (যা দুটি শ্রেণীর বিভাজন পৃথক করে) দেখুন।


2

পিএইচপি , 81 বাইট

<?list(,$s,$p)=$argv;$A=AB;$C=$E=$F=DEFHKO;$C.=JLN;echo+($p==$s||strpos($$p,$s));

এটি চালানোর জন্য:

php -n -d error_reporting=0 <filename> <socket> <plug>

উদাহরণ:

php -n -d error_reporting=0 socket_plug_compatibility.php F E

অথবা এটি অনলাইন চেষ্টা করুন!

মন্তব্য:

  • কিছু বাইট সংরক্ষণ করতে, আমি স্ট্রিং মোড়ক হিসাবে একক / ডাবল উদ্ধৃতি ছাড়াই স্ট্রিং ব্যবহার করেছি। সুতরাংerror_reporting=0 বিকল্পটি সতর্কতা আউটপুট না ব্যবহার করতে ব্যবহৃত হয়।
  • ইনপুট কেবল বড় হাতের অক্ষর দিয়ে কাজ করে।
  • সামঞ্জস্যের জন্য আউটপুট 1 এবং সামঞ্জস্যহীনতার জন্য 0।

কিভাবে?

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

ইনপুট প্লাগ এবং সকেটটি একই বা সকেট সেই প্লাগের জন্য সামঞ্জস্যপূর্ণ সকেটের তালিকায় রয়েছে কিনা তা পরীক্ষা করা হয়। পরবর্তী চেকটি পিএইচপি এর পরিবর্তনশীল ভেরিয়েবলগুলির সাহায্যে সম্পন্ন হয় ।


2

জাভাস্ক্রিপ্ট ES6, 66 65 64 অক্ষর

p=>s=>p==s|{A:1,C:14172,E:8788,F:8780}[p]&(1<<parseInt(s,36)-11)

মধ্যে বড় হাতের অক্ষরে লাগে pপ্লাগ এবং sসকেট জন্য, আয় falsy ( 0) অথবা truthy ( 1, 2, 4, ..., 8192) মান।

টেস্ট:

f=p=>s=>p==s|{B:1,C:14172,E:8788,F:8780}[p]&(1<<parseInt(s,36)-11)

console.log(`A, A => true
I, K => false
O, C => true
C, O => false
E, F => true
F, E => true`
.split`
`.map(x=>x.match(/(.), (.) => (\w+)/))
.every(([m,p,s,res])=>!!f(s)(p)==eval(res)))



@ অ্যাসোনতুহিড, আপনাকে ধন্যবাদ, আপডেট হয়েছে। তবে আপনার লিঙ্কটি অদ্ভুত এবং অজানা।
কিওয়ারটি

এটি টিআইও আমার জন্য খোলে
আসোন তুহিদ

@ অ্যাসোনতুহহিদ,ERR_CONNECTION_RESET
কিওয়ারটি

আপনি কি সরানোর চেষ্টা করেছেন https? অন্যান্য টিআইও লিঙ্কগুলি কী কাজ করে? আমি ম্যাক (ক্রোম এবং সাফারি) এবং অ্যান্ড্রয়েডে চেষ্টা করেছি এবং এটি দুর্দান্ত কাজ করে ...
Asone Tuhid

2

আর , 132 129 113 বাইট

function(S,P,`!`=utf8ToInt)"[<-"(diag(15),cbind(rep(!"",!"	"),!"
"),1)[-64+!P,-64+!S]

এটি অনলাইন চেষ্টা করুন!

নিম্নলিখিত ম্যাট্রিক্স তৈরি করে এবং m[S,P]=> 1 যদি সত্য হয় অন্যথায় 0।

       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
 [1,]    1    1    0    0    0    0    0    0    0     0     0     0     0     0     0 
 [2,]    0    1    0    0    0    0    0    0    0     0     0     0     0    0     0
 [3,]    0    0    1    1    1    1    0    1    0     1     1     1     0    1     1
 [4,]    0    0    0    1    0    0    0    0    0     0     0     0     0    0     0
 [5,]    0    0    0    1    1    1    0    1    0     0     1     0     0    0     1
 [6,]    0    0    0    1    1    1    0    1    0     0     1     0     0    0     1
 [7,]    0    0    0    0    0    0    1    0    0     0     0     0     0    0     0
 [8,]    0    0    0    0    0    0    0    1    0     0     0     0     0    0     0
 [9,]    0    0    0    0    0    0    0    0    1     0     0     0     0    0     0
[10,]    0    0    0    0    0    0    0    0    0     1     0     0     0    0     0
[11,]    0    0    0    0    0    0    0    0    0     0     1     0     0    0     0
[12,]    0    0    0    0    0    0    0    0    0     0     0     1     0    0     0
[13,]    0    0    0    0    0    0    0    0    0     0     0     0     1    0     0
[14,]    0    0    0    0    0    0    0    0    0     0     0     0     0    1     0
[15,]    0    0    0    0    0    0    0    0    0     0     0     0     0    0     1

intToUtf8এই ফাংশনটি ব্যবহার করে এবং প্রতিস্থাপন করে সূচকগুলি সংক্ষেপ করে 3 বাইট সংরক্ষণ করা হয়েছে !। আরও সুস্পষ্ট সংস্করণের জন্য ইতিহাস দেখুন।

@ জিউসেপ্পেকে 16 বাইট সংরক্ষণ করা হয়েছে!


আপনার যা দরকার তা না t=মধ্যে rep?
জিউসেপে

@ জিউসেপ দেখে মনে হচ্ছে আমি নেই!
জেসি


@ জিউস্পে এটি সম্পূর্ণরূপে এখন এক রহস্যময় ভাষা জমা দেওয়ার মতো দেখাচ্ছে।
জেসি

0

পাস্কাল (এফপিসি) , 113 বাইট

var p,s:char;begin read(p,s);write((p=s)or(pos(p,'CEF')>0)and(pos(s,'DEFHKO')>0)or(pos(p+s,'AB CJ CL CN')>0))end.

এটি অনলাইন চেষ্টা করুন!

সমস্ত মান জন্য পরীক্ষা

DEFHKOট্রেন অনুসরণ ...

pos(string1,string2)প্রথম occurence জন্য চেক string1মধ্যে string2এবং এটি তার অবস্থান ফেরৎ অথবা 0 যদি এটা কোন অস্তিত্ব নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.