এটি লোজবনে বৈধ ব্যঞ্জনা গোষ্ঠী?


13

.i xu .e'o lo zunsnagri cu drani loka jboge'a


দুটি অক্ষর সমন্বিত একটি স্ট্রিংয়ের ইনপুট দেওয়া হয়েছে, এটি লোজবানের বৈধ ব্যঞ্জনা গোষ্ঠী কিনা আউটপুট।

এখানে সিএলএল ৩.6 এর একটি উক্তিটি একটি বৈধ ব্যঞ্জনাত্মক ক্লাস্টার জুটির (বা পরিবর্তে, একটি অবৈধ ) নিয়মের বিশদ বিশদ বর্ণনা করেছে :

1) It is forbidden for both consonants to be the same, as this would
   violate the rule against double consonants.

2) It is forbidden for one consonant to be voiced and the other unvoiced.
   The consonants “l”, “m”, “n”, and “r” are exempt from this restriction.
   As a result, “bf” is forbidden, and so is “sd”, but both “fl” and “vl”,
   and both “ls” and “lz”, are permitted.

3) It is forbidden for both consonants to be drawn from the set “c”, “j”,
   “s”, “z”.

4) The specific pairs “cx”, “kx”, “xc”, “xk”, and “mz” are forbidden.

উদ্ধৃতিটি "ভয়েসড" এবং "উদ্বেগহীন" ব্যঞ্জনবর্ণ উল্লেখ করে। এখানে অপ্রকাশিত ব্যঞ্জনবর্ণ এবং তাদের স্বরযুক্ত অংশগুলির একটি টেবিল (সিএলএল 3.6 থেকেও রয়েছে):

UNVOICED    VOICED
   p          b
   t          d
   k          g
   f          v
   c          j
   s          z
   x          -

মনে রাখবেন যে {x} এর কোনও স্বরযুক্ত অংশ নেই। সম্পূর্ণতার জন্য, এই তালিকায় নেই এমন বাক্য ব্যঞ্জনবর্ণগুলি (যা হয় উদ্বোধনের উদ্দেশ্যে স্বর বা উদ্বেগিত হতে পারে) lmnr। ( yএটি একটি স্বরবর্ণ, এবং বর্ণগুলি hqwব্যবহৃত হয় না))

ইনপুটটি অবশ্যই একটি একক স্ট্রিং হতে পারে তবে আপনি ধরে নিতে পারেন যে এটি সর্বদা ঠিক দুটি ব্যঞ্জনবর্ণ নিয়ে গঠিত হবে, আপনি যদি চান তবে alচ্ছিক ট্রেলিং নিউলাইন সহ। আউটপুটটি কোনও সত্যবাদী বা মিথ্যা মান হতে পারে ।

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।

পরীক্ষার কেসগুলি (এগুলি যথাযথ বিভাগগুলিতে স্থাপন করা সমস্ত সম্ভাব্য ইনপুট স্ট্রিং):

Valid consonant clusters:
 bd bg bj bl bm bn br bv bz cf ck cl cm cn cp cr ct db dg dj dl dm dn dr dv
 dz fc fk fl fm fn fp fr fs ft fx gb gd gj gl gm gn gr gv gz jb jd jg jl jm
 jn jr jv kc kf kl km kn kp kr ks kt lb lc ld lf lg lj lk lm ln lp lr ls lt
 lv lx lz mb mc md mf mg mj mk ml mn mp mr ms mt mv mx nb nc nd nf ng nj nk
 nl nm np nr ns nt nv nx nz pc pf pk pl pm pn pr ps pt px rb rc rd rf rg rj
 rk rl rm rn rp rs rt rv rx rz sf sk sl sm sn sp sr st sx tc tf tk tl tm tn
 tp tr ts tx vb vd vg vj vl vm vn vr vz xf xl xm xn xp xr xs xt zb zd zg zl
 zm zn zr zv

Invalid consonant clusters:
 bb bc bf bk bp bs bt bx cb cc cd cg cj cs cv cx cz dc dd df dk dp ds dt dx
 fb fd ff fg fj fv fz gc gf gg gk gp gs gt gx jc jf jj jk jp js jt jx jz kb
 kd kg kj kk kv kx kz ll mm mz nn pb pd pg pj pp pv pz rr sb sc sd sg sj ss
 sv sz tb td tg tj tt tv tz vc vf vk vp vs vt vv vx xb xc xd xg xj xk xv xx
 xz zc zf zj zk zp zs zt zx zz

ডোরকনব, এটি কোডগলফের খুব কাছাকাছি। স্ট্যাককেঞ্জঞ্জ / কিউ / 6060০৫৩ / ১৫৫৯৯ আমার মনে হয় আমার অর্ধেক কোডটি পুনরায় ব্যবহারযোগ্য হতে পারে।
স্তর নদী সেন্ট

@ স্টিভেভারিল রাইট, আমি এই প্রশ্নটি পেয়েছি এবং আমি ভেবেছিলাম যে এটি কেবলমাত্র ইনপুট হিসাবে দুটি চরিত্র পেয়েছে এবং আপনাকে স্বর এবং এগুলি পরিচালনা করতে হবে না এই হিসাবে যথেষ্ট আলাদা হবে।
Doorknob

2
@ স্টিভেভারিল ... তবে উত্তরগুলি ঘনিষ্ঠভাবে দেখার পরে আমি পুনর্বিবেচনা করছি। আপনি কি মনে করেন যে আমি যদি কেবল ব্যঞ্জনবর্ণের প্রাথমিক অংশটি ছেড়ে দিয়েছিলাম এবং চ্যালেঞ্জটি সহজভাবে তৈরি করি তবে "এটি কি একটি বৈধ ব্যঞ্জন जोड"?
ডুরকনব

আমি মনে করি এটি উভয়ই চ্যালেঞ্জগুলির মধ্যে পার্থক্য বাড়িয়ে তুলবে এবং এটিকে সহজতর করবে, উভয়ই ভাল জিনিস হবে।
স্তর নদী সেন্ট

@ স্টেভেভারিল হ্যাঁ, আমি এখন একমত ধন্যবাদ!
Doorknob

উত্তর:


5

পাইথ, 53 48 47 বাইট

!}z+"mz"s.pMs[+VGGc"xcxkcsjz"2*"ptkfcsx""bdgvjz

এটি উপরোক্ত নিয়মের ভিত্তিতে সমস্ত অবৈধ জোড়ার একটি তালিকা তৈরি করে, তারপরে ইনপুটগুলির মধ্যে একটি কিনা তা পরীক্ষা করে।

! }                        A not in B
    z                      input
    +
      "mz"                  "mz"
      s                    flattened
        .pM                permutations of each:
            s [               flatten the three-element array:
                +V              Alphabet vectorized concat with itself.
                   G            That is, duplicate letters
                   G
                c"xcxkcsjz"2     That string chopped every 2
                *               outer product of
                  "ptkfcsx"      voiced letters
                  "bdgvjz        and unvoiced letters

এখানে চেষ্টা করুন


5

রেটিনা , 59 57 54 53 52 বাইট

(.)\1|[cjsz]{2}|mz

T`fb-jz`svkv
kx|xk|^v?[kpstx]v?

পেছনের লাইনফিডটি তাৎপর্যপূর্ণ। বৈধ ক্লাস্টারগুলির জন্য, এটি একটি খালি-খালি স্ট্রিংকে আউটপুট দেয়; অকার্যকরদের জন্য আউটপুট খালি।

এটি অনলাইন চেষ্টা করুন! এটি একবারে সমস্ত ক্লাস্টার পরীক্ষা করে (সমস্ত অবৈধকে সরিয়ে এবং সমস্ত বৈধকে অক্ষত রেখে)। এটি সম্ভব করার জন্য আমাকে ^একটি \bশব্দের সীমানা দিয়ে অ্যাঙ্করটি প্রতিস্থাপন করতে হয়েছিল ।

একই বাইট গণনার জন্য আরেকটি সমাধান:

(.)\1|[cjsz]{2}|mz

T`fk-dbz`scv
cx|xc|^v?[cpstx]v?

ব্যাখ্যা

লক্ষ্যটি হ'ল সমস্ত অবৈধ জুটি সম্পূর্ণ মুছে ফেলা। কমপক্ষে একটি চরিত্র যতদিন অবধি থাকে আমরা বৈধ জোড়গুলির সাথে আমরা যা করতে চাই তা করতে পারি।

(.)\1|[cjsz]{2}|mz

এটি তিনটি নিয়মের যত্ন নেয়: নিয়ম (.)\1লঙ্ঘনকারী যে কোনও জুটির সাথে মেলে 1 1. আইন [cjsz]{2}লঙ্ঘনকারী কোনও জুটির সাথে mzমেলে 3 rule বিধি থেকে বিশেষত অস্বীকৃত জুটির সাথে মেলে।

পাতার মাত্র দুটি নিয়ম ও সেই অন্য নির্দিষ্ট জোড়া xk, kx, xcএবং cx। কিছু প্রিপ্রোসেসিং করে আমরা একগুচ্ছ বাইট সংরক্ষণ করতে পারি যাতে আমাদের আরও কম কেসগুলি পরিচালনা করতে হয়:

T`fb-jz`svkv

ধারণা এক সব স্বরিত ব্যঞ্জনবর্ণ সঙ্কুচিত করতে, ভাল হিসাবে kএবং c। আমিও বাঁক করছি fমধ্যে sঅপরিহার্যতা শেষ হয়ে এসেছে। এটি একটি লিখিত লিখনের পর্যায় যা অন্যান্য চরিত্রের জন্য পৃথক অক্ষরকে প্রতিস্থাপন করবে। আসল ম্যাপিংটি দেখতে আমাদের ব্যাপ্তিটি প্রসারিত করতে হবে এবং মনে রাখতে হবে যে লক্ষ্য তালিকার শেষ অক্ষরটি অনির্দিষ্ট সময়ের জন্য পুনরাবৃত্তি করা হয়েছে:

fbcdefghijz
svkvvvvvvvv

প্রাথমিকটি f => sপ্রয়োজনীয়, কারণ এটি পরে ওভাররাইড করে f => vযা fএকটি স্বরযুক্ত ব্যঞ্জনে পরিণত হবে । আমরা যে cরূপান্তরিত হয় দেখুন k। এবং সমস্ত স্বরযুক্ত কনসেন্টটেন্টগুলিতে bdgjzপরিণত হয় v। যে পাতা ehi... ভাগ্যক্রমে এগুলি হয় স্বর হয় বা লোজবানে অব্যবহৃত। একই সঙ্গে অর্জন করা যেতে পারে

T`fcb-jz`skv

বিকল্পভাবে, আমি উপরে পোস্ট করা অন্যান্য সমাধানটি পরীক্ষা করে দেখুন যা খুব আলাদা ট্রান্সলিটেশন ব্যবহার করে (বিপরীত পরিসীমা সহ এবং এটি পরিবর্তে kরূপান্তরিত cহয়)।

এখন বাকি অবৈধ সংমিশ্রণগুলি আরও অনেক সহজে পরীক্ষা করা যায়:

kx|xk|^v?[kpstx]v?

cxএবং cxহয়ে গেছে kxএবং xkতাই আমাদের কেবল এখন দুটি কেস পরীক্ষা করা দরকার। নিয়ম 2 জন্য, আমরা সমগ্র যুগল মেলে একটি ঐচ্ছিক স্বরিত ব্যঞ্জনবর্ণ (হ্রাস সঙ্গে প্রথম থেকেই শুরু, চেষ্টা vএকটি আবশ্যিক না-বলা ব্যঞ্জনবর্ণ (যেখানে আমরা জন্য চেক করতে প্রয়োজন হবে না,) fএবং cআলাদাভাবে) এবং অন্য ঐচ্ছিক স্বরিত ব্যঞ্জনবর্ণ। জোড়টি যদি স্বরযুক্ত এবং উদ্বেগের মিশ্রণ হয় তবে দুটি alচ্ছিকের মধ্যে একটি vমিলে যাবে এবং পুরো জুটি সরানো হবে। অন্যথায়, এটি কেবল তখনই মিলতে পারে যদি এই জুটিটি স্বরযুক্ত ব্যঞ্জনবর্ণের সাথে শুরু হয় (এবং এরপরে আর কিছু থাকে) - সেক্ষেত্রে কেবল প্রথম চরিত্রটি সরানো হবে এবং অন্যটি রয়ে যাবে, এখনও সত্যবাদী ফলাফল দেয়।

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