অনুপস্থিত মনের ভাষাবিজ্ঞানী


10

পটভূমি

আপনার বন্ধু, একজন ভাষাবিদ, বিভিন্ন ভাষায় কিছু সাধারণ কথোপকথনের স্নিপেট রেকর্ড ও বিশ্লেষণ করেছেন। বেশ অনুপস্থিত মনের কারণে তারা ভুলে গেছে যে প্রতিটি স্নিপেটটি কোন ভাষায় ছিল You আপনাকে অবশ্যই একটি প্রোগ্রাম তৈরি করে তাদের সহায়তা করতে হবে যা বাক্য কাঠামোর বিশ্লেষণ করে এবং অসম্ভব কেসগুলিকে নিয়ম করে দেয়।

ইনপুট

আপনার ইনপুট হ'ল অক্ষরযুক্ত স্ট্রিং SVOযা অক্ষরগুলি অন্তর্ভুক্ত করে , যা বিষয় , ক্রিয়া এবং অবজেক্টের জন্য দাঁড়িয়ে । এটি ভাষাতত্ত্ববিদ বিশ্লেষণ করা কথোপকথনের স্নিপেটের প্রতিনিধিত্ব করে।

আউটপুট

আপনার কাজটি হ'ল স্ট্রিংটিকে বাক্যে ভাঙ্গা এবং .প্রতিটি বাক্য পরে একটি সময় লিখুন । একটি বাক্যে হয় একটি ক্রিয়া, বা একটি ক্রিয়া এবং একটি বিষয়, বা একটি ক্রিয়া, একটি বিষয় এবং একটি বিষয়। তবে, আপনি জানেন না যে কোন শব্দটি মূল ভাষাটি ব্যবহার করে; ইংরেজি সাবজেক্ট-ক্রিয়া-অবজেক্ট ব্যবহার করে তবে লাতিনের মতো অন্যান্য ভাষা সাবজেক্ট-অবজেক্ট-ক্রিয়া ব্যবহার করে । প্রকৃতপক্ষে, সমস্ত ছয়টি ক্রমগুলি প্রাকৃতিক ভাষায় বিদ্যমান, সুতরাং আপনার অবশ্যই তাদের প্রতিটি পরীক্ষা করা উচিত।

আপনার আউটপুটটিতে একটি নতুনরেখা-বিভক্ত স্ট্রিং, প্রতিটি প্রযোজ্য শব্দ ক্রম, একটি কোলন :এবং ইনপুট স্ট্রিংটি সেই ক্রম অনুসারে বাক্যে বিভক্ত হবে। যদি স্ট্রিংটি কিছু শব্দের ক্রমে বিশ্লেষণ করা যায় না তবে সংশ্লিষ্ট লাইনটি বাদ যাবে। লাইনের ক্রমটি কোনও ব্যাপার নয় এবং এটি গ্যারান্টিযুক্ত যে কমপক্ষে একটি শব্দের ক্রম পার্স করা যায়।

উদাহরণ

ইনপুট বিবেচনা করুন

VSVOSV

ইন VOSঅর্ডার, স্নিপেড যেমন পার্স করা যাবে VS.VOS.V., এবং SVOআদেশ, এটি হিসাবে পার্স করা যাবে V.SVO.SV.। অর্ডারটিও OSVকাজ করে, এবং সম্পূর্ণ আউটপুট হয়

VOS:VS.VOS.V.
SVO:V.SVO.SV.
OSV:V.SV.OSV.

বিধি এবং স্কোরিং

আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়। নিয়মিত এক্সপ্রেশন এবং সমস্ত বিল্ট-ইন অনুমোদিত।

পরীক্ষার মামলা

Input:
V
Output:
VSO:V.
VOS:V.
SVO:V.
OVS:V.
SOV:V.
OSV:V.

Input:
SVV
Output:
SVO:SV.V.
SOV:SV.V.
OSV:SV.V.

Input:
VSVOV
Output:
SVO:V.SVO.V.

Input:
VSOVS
Output:
VSO:VSO.VS.
OVS:VS.OVS.

Input:
SVOSV
Output:
SVO:SVO.SV.
OSV:SV.OSV.

Input:
VSVOSV
Output:
VOS:VS.VOS.V.
SVO:V.SVO.SV.
OSV:V.SV.OSV.

Input:
VSVVSOVSV
Output:
VSO:VS.V.VSO.VS.V.
OVS:VS.V.VS.OVS.V.
SOV:V.SV.V.SOV.SV.

Input:
SVVSVSOVSVV
Output:
SOV:SV.V.SV.SOV.SV.V.

Input:
VSOVSVSOVSVVS
Output:
VSO:VSO.VS.VSO.VS.V.VS.
OVS:VS.OVS.VS.OVS.V.VS.

আমি জানতাম যে আমার এক ঘন্টা আগে জাপটে স্ট্রিং পারমুটিশন বৈশিষ্ট্যটি প্রয়োগ করা উচিত ...
ETH প্রোডাকশনগুলি

উত্তর:


1

পার্ল 5 - 104 বাইট

$a=<>;for(qw/VSO VOS SVO OVS SOV OSV/){$s=s/O//r;print"$_:".$a=~s/($_|$s|V)/$1./gr if$a=~/^($_|$s|V)*$/}

1

জাভাস্ক্রিপ্ট (ES7), 172 বাইট

x=>[for(i of"V(SO?)?0V(O?S)?0(SVO?|V)0(O?VS|V)0(SO?)?V0(O?S)?V".split(0))if((y=x.match(RegExp(i,"g"))).join``==x)i.match(/\w/g).slice(0,3).join``+":"+y.join`.`+"."].join`
`

সম্ভবত আরও গল্ফ করা যেতে পারে। পরামর্শ স্বাগত!

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