উড্ড শব্দ, টিনি শব্দ


35

দ্রষ্টব্য: এই প্রশ্নে কিছু অভদ্র শব্দ রয়েছে।

এই ক্লাসিক মন্টি পাইথন স্কেচটিতে একটি অন্তর্নিহিত ধাঁধা দেওয়া আছে (আপনি অনলাইনে স্ক্রিপ্টটিও প্রস্তুত করতে পারেন )।

বিভিন্ন শব্দগুচ্ছকে 'উডি' বা 'টেনি' বলে বর্ণনা করা হয় এবং একটিতে 'পিভিসি' হিসাবে বর্ণনা করা হয়।

একটি বাক্য দেওয়া, নিম্নলিখিত তালিকা অনুযায়ী তার ধরণের সাথে প্রতিক্রিয়া:

woody:

gone
sausage
seemly
prodding
vacuum
bound
vole
caribou
intercourse
pert
thighs
botty
erogenous zone
ocelot
wasp
yowling

tinny:

litter bin
newspaper
antelope
recidivist
tit
simpkins

PVC:

leap

বিধি

  • ইনপুট উপরে তালিকার এক জন্যে পারেন, আউটপুট হওয়া উচিত woody, tinnyবা PVC, সেই অনুযায়ী।
  • সমস্ত ইনপুট লোয়ার কেস।
  • উপরোক্ত তালিকাভুক্ত নয় এমন বাক্যাংশগুলির জন্য কোনও আচরণই গ্রহণযোগ্য।
  • উত্তরের সবচেয়ে কম বাইট জিতেছে।

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

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

5
সুতরাং, আমরা একটি মন্টি পাইথন স্কেচে যুক্তি প্রয়োগ করব? ... চমৎকার!
ব্রুসওয়েইন

@ ব্রুসওয়েইন হ'ল আমরা যা করছি তা অবিকল।
এজেফারাডে

You may choose how to deal (or ignore) with casing in input and output.স্পষ্ট করে বলার জন্য, এর অর্থ কী আমরা বড় হাতের নাগালে ইনপুটটি আশা করতে পারি?
ousurous

উত্তর:


4

স্ট্যাক্স , 30 25 বাইট

ï═H♣║GÇX→ΩM+@╢^j╬♪►╨╝ô╤c\

এটি চালান এবং এটি ডিবাগ করুন

মন্তব্য ascii উপস্থাপনা এটি। আমি এই অ্যালগরিদম আবিষ্কার করেনি। এটি নির্লজ্জভাবে জোনাথন অ্যালেনের অজগর সমাধানটি ছিন্ন করে ।

9@                  10th character, modularly indexed
`#!z"pi0$L+%v9`X    store "tinny pvc woody" in the x register
3(                  keep only the first 3 characters ("tin")
#                   how many times the 10th char occurs in tin? (a)
y.eaI               index of "ea" in the input or -1 (b)
+                   a + b (one of -1, 0, or 1)
xj@                 modularly indexed word in x

এটি চালান


এই উত্তরটি ঠিক আছে, তবে স্ট্রিং আক্ষরিক সংক্ষেপক বগি, এটি 4-অক্ষর দীর্ঘ স্ট্রিংয়ের জন্য 5 অক্ষরের দীর্ঘ ফলাফল (যদি আপনি `, 7 অন্তর্ভুক্ত করেন) উত্পাদন করে produce
ওয়েজুন ঝো

সংক্ষিপ্তসার সবসময় একটি ছোট ফলাফল উত্পাদন গ্যারান্টিযুক্ত হয় না। সাধারণত ইংরাজী স্ট্রিংয়ের জন্য। এটি কোনও বাগ নয়। আপনার যদি এমন একটি ক্ষেত্রে থাকে যেখানে ডাবল উদ্ধৃত স্ট্রিংটি ছোট হয় তবে তার পরিবর্তে কেবল এটি ব্যবহার করুন।
পুনরাবৃত্তির

আমি ভেবেছিলাম এটি জেলির মতো যা সর্বদা সংক্ষিপ্ত প্রতিনিধিত্ব খুঁজে পায় (সম্ভবত বিবরণটি তখন বর্ণিত হওয়া উচিত?)
ওয়েইজুন চি চি

কিছু মনে করো না. আমি বলেছিলাম can help youকিছুটা বিভ্রান্তিকর তবে যুক্তিযুক্তভাবে ঠিক আছে।
ওয়েজুন চাউ

এইচএম, হ্যাঁ, শব্দটি একটি ধরণের বিভ্রান্তিকর।
রিকার্সিভ

35

পাইথন 2 , 99 73 65 64 63 বাইট

lambda s:'PVC'*('ea'in s)or'wtoiondnyy'[s[-2:]in'instperit'::2]

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

63৩ বাইট সহ বিকল্পগুলি:

lambda s:'PVC'*('ea'in s)or'wtoiondnyy'[s[-6::5]in'dtenmsr'::2]
lambda s:'PVC'*('ea'in s)or'wtoiondnyy'[s[::5]in'lrinaosit'::2]

23
মন্টি পাইথন চ্যালেঞ্জ সমাধান করতে পাইথন ব্যবহারের কারণে উত্সাহিত।
ব্রেইন গাইড

10
আন্ডারবিগুড়ি, দয়া করে ভাষা ব্যবহারের পরিবর্তে সমাধানের ভিত্তিতে আপনার ভোট দিন।
শেগি

24
@ শেগি এএফআইপি ভাষার পছন্দ পিপিসিজির অন্যতম মজাদার অংশ! আমি সমাধানটি পছন্দ করি, কারণ এটি অজগরটিতে । কোনটি "জিতবে" তা দেখার জন্য ইতিমধ্যে আমাদের কাছে বাইট রয়েছে
মস্তিষ্ক গাইড

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

5
আমি সম্মত, একটি নির্দিষ্ট উত্তর পছন্দ করার অনেক কারণ থাকতে পারে। এমনকি "মন্টি পাইথনের জন্য পাইথন" শৃঙ্খলা দ্বারা মানুষ এতটা উত্তেজিত হয়ে উঠলেও, এখনও অব্রাহামরা এটি দেখে দুঃখের বিষয় যে আপোভোটাররা কিছুটা নিচে স্ক্রোল করতে বিরক্ত করেন না, এবং অন্য পাইথনের উত্তরের জন্য কিছু প্রশংসা দেখান যা আসলে আরও প্রচলিত এবং এমনকি একটি বাচ্চা সংক্ষিপ্ততর ...
কিরিল এল

15

পাইথন 2 , 62 বাইট

lambda n:'wtPoiVonCdn yy'[hash(n)%97%78%28%15%2+('ea'in n)::3]

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

কিভাবে?

এই জমাটি সত্যটি ব্যবহার করে যে hashফাইথটি পাইথন ২ এ স্ট্রিংয়ের জন্য স্থিতিশীল Each প্রতিটি বৈধ ইনপুটটির একটি বৈধ আউটপুট থাকে। ব্রুট-জোর করে পুনরাবৃত্তি মডুলো সমস্ত টিনি এবং পিভিসি শব্দের জন্য এবং কাঠের শব্দের জন্য %97%78%28%15%2প্রত্যাবর্তন করে । এর মান যুক্ত করে আমরা ইনপুট 'লিপ' এর পরিবর্তে পাই । এখানে সমস্ত মানের একটি টেবিল দেওয়া হয়েছে:10('ea' in n)21

+----------------+----------------------+----------------+-------------+-------+
| word           | hash                 | %97%78%28%15%2 | +('ea'in n) | type  |
+----------------+----------------------+----------------+-------------+-------+
| leap           | 5971033325577305778  | 1              | 2           | PVC   |
+----------------+----------------------+----------------+-------------+-------+
| litter bin     | 2393495108601941061  | 1              | 1           | tinny |
| newspaper      | 1961680444266253688  | 1              | 1           | tinny |
| antelope       | -2930683648135325182 | 1              | 1           | tinny |
| recidivist     | -1480015990384891890 | 1              | 1           | tinny |
| tit            | -1495230934635649112 | 1              | 1           | tinny |
| simpkins       | 672871834662484926   | 1              | 1           | tinny |
+----------------+----------------------+----------------+-------------+-------+
| gone           | 3644900746337488769  | 0              | 0           | woody |
| sausage        | 4880706293475915938  | 0              | 0           | woody |
| seemly         | -8112698809316686755 | 0              | 0           | woody |
| prodding       | 7325980211772477495  | 0              | 0           | woody |
| vacuum         | -5283515051184812457 | 0              | 0           | woody |
| bound          | -6522768127315073267 | 0              | 0           | woody |
| vole           | -7823607590901614336 | 0              | 0           | woody |
| caribou        | -3644594841083815940 | 0              | 0           | woody |
| intercourse    | 2499732157679168166  | 0              | 0           | woody |
| pert           | 4142553773863848247  | 0              | 0           | woody |
| thighs         | -3490317966011085195 | 0              | 0           | woody |
| botty          | -6522767127163072681 | 0              | 0           | woody |
| erogenous zone | 7046120593231489339  | 0              | 0           | woody |
| ocelot         | -6961879712146820842 | 0              | 0           | woody |
| wasp           | -3668927459619339511 | 0              | 0           | woody |
| yowling        | 6823632481520320220  | 0              | 0           | woody |
+----------------+----------------------+----------------+-------------+-------+

ফেরতের ধরণটি এখন 'wtPoiVonCdn yy'প্রতি তৃতীয় অক্ষর গ্রহণ করে গণনা সূচক থেকে শুরু করে স্ট্রিং থেকে বের করা হবে ।


10

জাভাস্ক্রিপ্ট (ES6), ক্রোম / এজ, 54 বাইট

যেহেতু parseInt()৩ 36 এর মূলাঙ্কের সাথে বৃহত ইনপুটগুলির আচরণ বাস্তবায়ন-নির্ভর , তাই এটি স্পাইডারমনকি (ফায়ারফক্স) এর সাথে কাজ করে না।

s=>[,'PVC',,'Tinny'][parseInt(s+383,36)%69%7]||'Woody'

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

কিভাবে?

হ্যাশ ফাংশনটি তিন্নি শব্দের জন্য 3 , পিভিসির জন্য 1 এবং উডি শব্দের জন্য 0 , 4 , 5 বা 6 দেয় । একটি নক্ষত্রের সাথে চিহ্নিত শব্দগুলি স্পষ্টভাবে ছাঁটা হয়েছে কারণ স্থানকে পার্সেন্ট () দ্বারা অবৈধ অক্ষর হিসাবে বিবেচনা করা হয় ।

word           | +383           | base 36 -> decimal    | mod 69 | mod 7
---------------+----------------+-----------------------+--------+------
gone           | gone383        |           36318994131 |   54   |   5
sausage        | sausage383     |      2874302392811475 |   42   |   0
seemly         | seemly383      |        80120017777107 |    6   |   6
prodding       | prodding383    |     94214834629477200 |   12   |   5
vacuum         | vacuum383      |        88266035564499 |   60   |   4
bound          | bound383       |          916101808275 |    6   |   6
vole           | vole383        |           68967369939 |   39   |   4
caribou        | caribou383     |      1249086300450771 |   63   |   0
intercourse    | intercourse383 | 3.183324871563264e+21 |   11   |   4
pert           | pert383        |           55312791699 |   21   |   0
thighs         | thighs383      |        83184557510739 |    6   |   6
botty          | botty383       |          916052399571 |   63   |   0
erogenous zone | erogenous (*)  |        41664605989780 |    7   |   0
ocelot         | ocelot383      |        68678794158483 |   39   |   4
wasp           | wasp383        |           70309896339 |   63   |   0
yowling        | yowling383     |      3523299657958227 |   39   |   4
---------------+----------------+-----------------------+--------+------
litter bin     | litter (*)     |            1301413923 |   24   |   3
newspaper      | newspaper383   |   3081816298632183000 |    3   |   3
antelope       | antelope383    |     38980419895881940 |   24   |   3
recidivist     | recidivist383  | 129824740122576960000 |    3   |   3
tit            | tit383         |            1785109395 |   45   |   3
simpkins       | simpkins383    |    104264583727840850 |   24   |   3
---------------+----------------+-----------------------+--------+------
leap           | leap383        |           46576922259 |   57   |   1

পূর্ববর্তী সংস্করণ, 59 57 বাইট

s=>['Woody','Tinny','PVC'][82178>>parseInt(s,35)%50%26&3]

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

কিভাবে?

নীচে প্রতিটি ইনপুট জন্য ফাংশন বিভিন্ন পদক্ষেপ আছে। প্রথম মডিউল ফল জাতীয় সংখ্যার স্পষ্টতা মধ্যে প্রায় সঠিক পরিমাপ এবং জন্য গাণিতিকভাবে অবৈধ মিলনের

input          | base-35 -> dec.   | %50 | %26 | 00000000010100000100000010
---------------+-------------------+-----+-----+---------------------------
gone           |            716219 |  19 |  19 |      00------------------>
sausage        |       52042888324 |  24 |  24 | 00----------------------->
seemly         |        1492249219 |  19 |  19 |      00------------------>
prodding       |     1659396207121 |  21 |  21 |    00-------------------->
vacuum         |        1643736697 |  47 |  21 |    00-------------------->
bound          |          17573443 |  43 |  17 |        00---------------->
vole           |           1359274 |  24 |  24 | 00----------------------->
caribou        |       22625709220 |  20 |  20 |     00------------------->
intercourse    | 51532867489988450 |  48 |  22 |   00--------------------->
pert           |           1089999 |  49 |  23 |  00---------------------->
thighs         |        1549436973 |  23 |  23 |  00---------------------->
botty          |          17572449 |  49 |  23 |  00---------------------->
erogenous zone |    33308397234728 |  28 |   2 |                       00->
ocelot         |        1279159344 |  44 |  18 |       00----------------->
wasp           |           1385255 |   5 |   5 |                    00---->
yowling        |       63810499496 |  46 |  20 |     00------------------->
litter bin     |        1131250042 |  42 |  16 |         01--------------->
newspaper      |    52754217228642 |  42 |  16 |         01--------------->
antelope       |      687218151914 |  14 |  14 |           01------------->
recidivist     |  2160354371100934 |  34 |   8 |                 01------->
tit            |             36184 |  34 |   8 |                 01------->
simpkins       |     1835782971008 |   8 |   8 |                 01------->
leap           |            917900 |   0 |   0 |                         10

9

রেটিনা , 39 38 36 বাইট

অ্যাডামের উত্তরের মতো তিনটি প্রতিস্থাপন জোড়া ব্যবহার করে 1 বাইট সংরক্ষণ করা হয়েছে।

L#-3$0`ea
PVC
.p.|is?t
tinny
$
woody

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

আমি পিটার নরভিগের রেজেক্স গল্ফারের.p.|is*t কাছ থেকে রেজেস পেয়েছি ।


2
ওহ, বৃত্তাকার বৈশিষ্ট্য।
অ্যাডাম

9

জাভা 8, 81 80 67 বাইট

s->s.charAt(2)<98?"PVC":s.matches(".*(.p.|is?t).*")?"tinny":"woody"

@ মাটরিনএেন্ডারের রেটিনা উত্তর থেকে রেইগেক্স

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

আসল উত্তর: 81 80 বাইট

s->"anetisilire".contains(s.substring(0,2))?"tinny":s.charAt(2)<98?"PVC":"woody"

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

ব্যাখ্যা:

s->                  // Method with String as both parameter and return-type
  "anetisilire".contains(s.substring(0,2))?
                     //  If the first two letters of the input are present in "anetisilire"
    "tinny"          //   Output "tinny"
   :s.charAt(2)<98?  //  Else-if the third character of the input is an 'a'
    "PVC"            //   Output "PVC"
   :                 //  Else:
    "woody"          //   Output "woody"

অতিরিক্ত ব্যাখ্যা:

litter bin:  anetisi(li)re
newspaper:   a(ne)tisilire
antelope:    (an)etisilire
recidivist:  anetisili(re)
tit:         ane(ti)silire
simpkins:    aneti(si)lire
  1. প্রথম দুটি অক্ষর কোনটিই woodyওপরের কথাগুলো এই স্ট্রিং উপস্থিত, আর হয় leথেকে leap
  2. woodyশব্দের কোনওটিরই aতৃতীয় অক্ষর নেই, সুতরাং এটি কোনও শব্দ না হলে পাওয়ার leapজন্য ব্যবহৃত হয় ।PVCtinny
  3. অন্য সমস্ত কিছু woodyতালিকা থেকে একটি শব্দ ।

2
সমস্যা সমাধানের এই ধরণের চিন্তাভাবনার মাধ্যমে পড়তে পারা সত্যিই শীতল :)
এজেফারাডে

6

হাস্কেল , 61 বাইট

f(a:b:_)|b=='i'||elem a"ran"="tinny"|a=='l'="PVC"|1>0="woody"

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

এই হস্ত-সন্ধান যুক্তি ব্যবহার করে:

  • দ্বিতীয় অক্ষর দিয়ে শব্দ iবা প্রথম চিঠি r, aঅথবা nহয়tinny
  • l( leap) দিয়ে শুরু হওয়া অন্য যে কোনও শব্দPVC
  • অন্য কিছু woody

লিন leapতার প্রথম চিঠিটি পরীক্ষা করে একটি বাইট সংরক্ষণ করেছিল।


1
নিস! সনাক্ত করে আপনি একটি বাইট সংরক্ষণ করতে পারেন"leap" সঙ্গে |a=='l'="PVC"
লিন

5

কোয়াডস , 34 32 বাইট

লজ্জাজনকভাবে পিটার নরভিগের রেজেক্স গল্ফারের রেগেক্স সহ মার্টিন ইন্ডারের সিস্টেম ব্যবহার করে ।

⊃⍵
ea
.p.|is?t
$
PVC
tinny
woody

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

⊃⍵ প্রথম ঘটনা চয়ন করুন

ea "ea"
.p.|is?t "p" অক্ষর দ্বারা ঘেরা OR বা "i" এবং "t" তাদের মধ্যে ইনপুটটির
$ শেষের মধ্যে alচ্ছিক "s" থাকবে

… তবে নিম্নলিখিতগুলির সাথে সংশ্লিষ্টগুলির সাথে ম্যাচগুলি প্রতিস্থাপন করুন:

PVC
tinny
woody


সমতুল্য 43-বাইট ডায়ালগ এপিএল ফাংশনটি হ'ল:

'ea' '.p.|is?t' '$'S'PVC' 'tinny' 'woody'

সব মামলা অনলাইনে করে দেখুন!


5

সি (জিসিসি) , 81 বাইট

h;f(char*s){puts(strchr("HzYfPW",h=*s^s[1]<<2&127)?"Tinny":h<120?"Woody":"PVC");}

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

ব্যবসায়ের প্রথম ক্রমটি ছিল এমন কিছু হ্যাশ ফাংশন সন্ধান করা যা শব্দগুলিকে তাদের বিভাগগুলিতে আলাদা করবে। কিছুটা ঝাঁকুনির পরে আমি হোঁচট (s[0] ^ (s[1] << 2)) & 0x7fখেয়েছি, যেখানে 0x7f অবশ্যই প্রিন্টযোগ্য এএসসিআইআই স্তরে নামিয়ে আনতে পারে। এটি নিম্নলিখিত তথ্য উত্পন্ন করেছে (টেবিলগুলি বাছাই করা হয়, তবে ফলাফলের স্ট্রিংগুলি নয়):

Woody:
----
erogenous zone  - 45
prodding        8 56
yowling         E 69
vole            J 74
intercourse     Q 81
thighs          T 84
gone            [ 91
botty           ^ 94
bound           ^ 94
ocelot          c 99
pert            d 100
caribou         g 103
seemly          g 103
vacuum          r 114
wasp            s 115
sausage         w 119

[wg8r^JgQdT^-csE

Tinny:
----
litter bin      H 72
tit             P 80
simpkins        W 87
antelope        Y 89
recidivist      f 102
newspaper       z 122

HzYfPW

PVC:
----
leap            x 120

x

হ্যাশের সংঘর্ষগুলি কোনও বিষয় নয়, যেহেতু তারা একই বিভাগে অন্তর্ভুক্ত। ওডি হ্যাশগুলি সমস্ত পিভিসি হ্যাশ (120) এর নীচে রয়েছে বলে আমাদের কেবলমাত্র ফলাফলের হ্যাশ টিনি হ্যাশ স্ট্রিং ("HzYfPW") এ আছে কিনা তা পরীক্ষা করতে হবে। যদি 120 বা তার বেশি হয়, এবং একটি টিনি শব্দ না হয় তবে এটি অবশ্যই পিভিসি হতে হবে। যদি কোনও টিনি শব্দ না হয় এবং হ্যাশটি 120 এর নিচে থাকে তবে এটি অবশ্যই একটি ভাল, উঁচু শব্দ।


4

x86 32-বিট মেশিন কোড, 39 বাইট

Hexdump:

69 01 47 6f 61 2c c7 02 50 56 43 00 3a c4 74 16
c7 02 77 6f 6f 64 85 c0 78 06 c7 02 74 69 6e 6e
66 c7 42 04 79 00 c3

হ্যাশ ফাংশনটি হ'ল "ম্যাজিক" সংখ্যা দ্বারা গুণ 0x2c616f47 । এই কোডটি ব্যবহার করে কেবলমাত্র 6 টি সংখ্যা রয়েছে।

প্রথমত, এটি লিখেছে PVC আউটপুট । প্রয়োজন হলে এটি ওভাররাইট করা হবে।

হ্যাশ করার পরে এটি পিভিসি শব্দের জন্য পরীক্ষা করে; চেকটি হ'ল al = ah- আমি এটি বেছে নিয়েছি কারণ এটি একটি ছোট 2-বাইট নির্দেশ। তারপরে, এটি হয় woodবা tinnহ্যাশ ফলাফলের চিহ্নের উপর নির্ভর করে লিখেছে । তারপরে, এটি লিখেছে y

সমাবেশ কোড:

    imul eax, [ecx], 0x2c616f47;
    mov dword ptr [edx], 'CVP';
    cmp al, ah;
    je done;
    mov dword ptr [edx], 'doow';
    test eax, eax;
    js skip;
    mov dword ptr [edx], 'nnit';
skip:
    mov word ptr [edx + 4], 'y';
done:
    ret;

4

জেলি ,  27  26 বাইট

⁵ịe“Ṗµ»_⁼“ḣG»$ị“©LẈḊ¶$Ḍ»Ḳ¤

একটি monadic লিঙ্ক স্বীকৃত এবং অক্ষরের তালিকা ফিরে।

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

কিভাবে?

⁵ịe“Ṗµ»_⁼“ḣG»$ị“©LẈḊ¶$Ḍ»Ḳ¤ - Link: list of characters, W   e.g. "gone"  "leap"  "newspaper"
⁵                          - literal ten                  10
 ị                         - index into (1-based & modular)     'o'     'e'     'n'
   “Ṗµ»                    - compression of characters    "int"
  e                        - exists in?                          0       0       1
              $            - last two links as a monad
          “ḣG»             -   compression of characters  "leap"
         ⁼                 -   equal?                            0       1       0
        _                  - subtract                            0      -1       1
                         ¤ - nilad followed by link(s) as a nilad:
                “©LẈḊ¶$Ḍ»  -   compression of characters  "tinny PVC woody"
                         Ḳ -   split at spaces            ["tinny","PVC","woody"]
               ị           - index into (1-based & modular)     "woody" "PVC"   "tinny"


3

নোংরা , 73 57 54 বাইট

⇖'le'⇗≐∀⭦)Ẃ'nar'⇗{=]}⭨'i'=]'woody'‼␛['tinny'‼␛('PVC'‼␛

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

ব্যাখ্যা:

অনুরূপ পুরানো সংস্করণের জন্য (আমি যখন এটি গল্ফ করা বন্ধ করি তখন আমি এটি আপডেট করব)

␛‼'CVP'⇨⇖'leap'⇗≡⊭◌⬅Ẃ'nar'⇗{=]}1ẁ'i'=]'woody'‼␛['tinny'‼␛

এর দেহটি গঠিত:

⇖            put the input into the left stack
 'leap'      push the string "leap"
       ⇗     put that string into the right stack
        ≡    are the left and right stacks equal
         ⊭   logically negate
          ◌  skip next instruction if true
           ⬅ change direction to leftwards

যদি আমরা বাম দিকে যেতে শেষ করি, তবে আমাদের কাছে রয়েছে:

       ⇨⇖'leap'⇗≡⊭◌ does stuff to the stacks, but isn't relevant
  'CVP'              push the string "PVC" (reversed, because we're going left)
 ‼                   print the string on the main stack
␛                    exit the program (this should wrap into the other exit, but that isn't working yet)

অন্যথায়, স্ট্রিংটি কোনও "নার" দিয়ে শুরু হয় কিনা তা পরীক্ষা করে:

Ẃ           wipe the right stack
 'nar'      push the string "nar"
       ⇗    move string to right stack
        {
         =  compare the top of the left and right stacks
          ] goto matching bracket if true
        }   consuming loop while the right stack is true

তারপরে আমরা দ্বিতীয় অক্ষরটি "i" কিনা তা পরীক্ষা করে দেখি:

1        push the number 1
 ẁ       drop ^ number of elements off of the left stack
  'i'    push "i"
     =   are the top of the left and middle stacks equal
       ] goto matching bracket if true

যদি সেগুলি সব পড়ে যায় তবে আমরা প্রবেশ করি

'woody'   push the string "woody"
       ‼  print the string on the main stack
        ␛ exit the program

যদি আমরা লাফানো শেষ করি তবে আমরা প্রায় গুটিয়ে ফেলি

[          matching bracket for the goto
 'tinny'   push the string "tinny"
        ‼  print the string on the main stack
         ␛ exit the program

3

সি # 97 বাইট

string t(string w)=>w[0]!='p'&new[]{10,9,8,3}.Contains(w.Length)?"tinny":w[0]=='l'?"pvc":"woody";

আমি স্ট্রিংগুলির দৈর্ঘ্যের একটি প্যাটার্ন সন্ধান করতে গিয়ে দেখতে পেলাম যে তারা দৈর্ঘ্য 4 এবং 8 ব্যতীত অনন্য So তাই আমি প্রথম অক্ষরগুলি দেখে বিশেষ বিশেষ তাদের ক্ষেত্রে। ওহ ভাল, এটি এখনও কিছু উত্তরের চেয়ে ছোট। :)


1
আপনি জানেন, যখন মার্টিন এন্ডার এই তালিকাগুলির জন্য একটি সহজ নিয়ম পেয়েছিলেন, কেবলমাত্র প্রতিটি উত্তরই একই সমাধানটি কার্যকর করেছিল, এক উপায় বা অন্য। এটি একটি আসল পদ্ধতির দেখতে দুর্দান্ত। :)
এজেফারাডে

সাহায্য করার জন্য ধন্যবাদ. :) আমার চেষ্টা করার আগে আমি অন্যান্য সমাধানগুলি পড়ি নি .. সম্ভবত আরও একটি মার্জিত সমাধান এখনও আবিষ্কার করা যায়নি .. আমার ইচ্ছা যদি তাদের সকলের দৈর্ঘ্য হয় তবে এটি সমাধান হবে।
লি

2
string t(string w)=>ঠিক হতে পারে w=>। আপনি 'p'এবং অন্যান্য অক্ষরগুলিকে তাদের অন্তর্নিহিত উপস্থাপনায় আমি রূপান্তর করতে পারি। আপনি পেছনের আধা
কোলোনটি

3

পাইথন , 59 বাইট

lambda w:"wtPoiVonCdn yy"[(w*4)[9]in"tin"or(w[2]<"b")*2::3]

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

Ovs এর পাইথন উত্তর থেকে সূচিকাগুলি ব্যবহার করে তবে একটি সহজ এবং স্বল্প পছন্দ ফাংশন:

শব্দটির দশম অক্ষর w, মোড়ক সহ ( (w*4)[9]- যেখানে চারবার w*4পুনরাবৃত্তি হয় w) টিন ( in"tin") শব্দটির একটি অক্ষর হলে শব্দটি ক্ষুদ্র হয় , অন্যথায় তৃতীয় বর্ণ ( w[2]) যদি একটি ( <'b') হয় তবে শব্দটি পিভিসি হয় নাহলে শব্দটি কাঠবাদাম

... এই 59 একই কাজ করে:

lambda w:"wtPoiVonCdn yy"[[(w*4)[9]in"tin",2][w[2]<"b"]::3]


2

ব্যাচ, 145 বাইট

@set/ps=
@if %s%==leap echo PVC&exit/b
@for %%s in (a n r)do @if %s:~,1%==%%s echo tinny&exit/b
@if %s:~1,1%==i echo tinny&exit/b
@echo woody

STDIN এ ইনপুট নেয়। ব্যাখ্যা: চেক করার পর leap, Tinny শব্দ পারেন অক্ষর এক সঙ্গে শুরু a, nবা rবা তাদের দ্বিতীয় চিঠি i


2

সিজেম , 35 বাইট

1b_856%338<\418=-"woodytinnyPVC"5/=

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

আমি সম্পূর্ণরূপে ভুলে গেছি যে আমি কাঠ এবং টেনি স্ট্রিংগুলিকে দুটি শ্রেণিতে ভাগ করে নেওয়ার জন্য সংক্ষিপ্ত প্রকাশের জন্য একটি নিষ্ঠুর বল অনুসন্ধান শুরু করেছি। সবেমাত্র কনসোল উইন্ডোটি খুঁজে পেয়েছি যেখানে অনুসন্ধানটি দৌড়েছে এবং দেখা যাচ্ছে এটি আসলে কিছু খুঁজে পেয়েছে ...

ব্যাখ্যা

1b     e# Sum the code points of the input string.
       e# The result is unique for each input, except "pert" and "wasp" which
       e# both sum to 443. But they're both woody, so that's fine.
_      e# Duplicate.
856%   e# Take the sum modulo 856.
338<   e# Check whether the result is less than 338. That's true for all
       e# tinny words.
\      e# Swap with the other copy of the sum.
418=   e# Check whether the sum is equal to 418, which identifies "leap".
-      e# Subtract. Gives -1 for "leap", 1 for tinny words and 0 for woody words.
"woodytinnyPVC"5/
       e# Create the list ["woody" "tinny" "PVC"].
       e# Select the correct string.

1

এক্সেল, 81 বাইট

=IF(ISNUMBER(FIND(LEFT(A1,2),"anetisilire")),"tinny",IF(A1="leap","PVC","woody"))

'Anetisilire' পদ্ধতি ব্যবহার করে।



1

জাভাস্ক্রিপ্ট, 60 , 50

সম্পাদনা করুন আমি অন্যান্য সমস্ত রেইগেক্স উত্তর দেখেছি। আমার ধারণা আমি অন্ধ। যাইহোক, এখানে একটি একই রেজেক্স ব্যবহার করছে

i=="leap"?"PVC":/.p.|is*t/.test(i)?"tinny":"woody"

এছাড়াও, এখন, এটি অন্য জেএস উত্তরকে মারধর করে

স্নিপেট:

let test = i => i=="leap"?"PVC":/.p.|is*t/.test(i)?"tinny":"woody"

let woody = `gone
sausage
seemly
prodding
vacuum
bound
vole
caribou
intercourse
pert
thighs
botty
erogenous zone
ocelot
wasp
yowling`;
console.log("THESE SHOULD BE woody");
woody.split("\n").forEach(el => console.log(test(el)));
let tinny = `litter bin
newspaper
antelope
recidivist
tit
simpkins`;
console.log("THESE SHOULD BE tinny");
tinny.split("\n").forEach(el => console.log(test(el)));
console.log("THIS SHOULD BE PVC");
console.log(test("leap"));

পুরানো উত্তর

আমি এখনও রেজেক্সের সাথে কোনও দেখতে পাইনি, তাই আমি ভেবেছিলাম এটি ব্যবহার করে দেখি

i=="leap"?"PVC":/[gyuz]|[or][tl]|as/.test(i)?"woody":"tinny"

এটি 60 বা তার বেশি হিসাবে গণ্য হয়েছে তা নিশ্চিত নয় কারণ আমি কোনও রিটার্নের বিবৃতি অন্তর্ভুক্ত করি নি। আমি আমার কম্পিউটারে উঠলে একটি স্নিপেট যুক্ত করব Will

সম্পাদনা: স্নিপেট

let test = i => i=="leap"?"PVC":/[gyuz]|[or][tl]|as/.test(i)?"woody":"tinny"

let woody = `gone
sausage
seemly
prodding
vacuum
bound
vole
caribou
intercourse
pert
thighs
botty
erogenous zone
ocelot
wasp
yowling`;
console.log("THESE SHOULD BE woody");
woody.split("\n").forEach(el => console.log(test(el)));
let tinny = `litter bin
newspaper
antelope
recidivist
tit
simpkins`;
console.log("THESE SHOULD BE tinny");
tinny.split("\n").forEach(el => console.log(test(el)));
console.log("THIS SHOULD BE PVC");
console.log(test("leap"));

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