কপস: একটি রেজেক্স তৈরি করুন - একটি সাপ তৈরি করুন


40

এটি হ'ল পুলিশ থ্রেড। ডাকাতের থ্রেড এখানে


এমন একটি কোড লিখুন যা একটি ইনপুট নেয় nএবং একটি এন-বাই-এন "সাপ ম্যাট্রিক্স" তৈরি করে।

একটি সাপ ম্যাট্রিক্স একটি ম্যাট্রিক্স যা এই ধরণটি অনুসরণ করে:

3-বাই-3:

1  2  3
6  5  4
7  8  9

এবং 4-বাই -4:

1   2   3   4
8   7   6   5
9   10  11  12
16  15  14  13

সঠিক আউটপুট ফর্ম্যাট .চ্ছিক। আপনি উদাহরণস্বরূপ আউটপুট [[1 2 3],[6 5 4],[7 8 9]], বা অনুরূপ কিছু হতে পারে ।

আপনাকে অবশ্যই ভাষাটির নাম এবং একটি রেজেক্স সরবরাহ করতে হবে যা আপনার কোডের সাথে পুরোপুরি মেলে। আপনার রেজেক্স কতটা বিশদ হওয়া উচিত তা আপনি চয়ন করতে পারেন। চূড়ান্তভাবে, আপনি এমন একটি রেজেক্স লিখতে পারেন যা প্রতিটি সম্ভাব্য স্ট্রিংয়ের সাথে মেলে, এক্ষেত্রে আপনার কোডটি ক্র্যাক করা খুব সহজ হবে। আপনার অবশ্যই আউটপুট সরবরাহ করতে হবে n=4, যাতে ডাকাতরা আপনার পছন্দমত সঠিক বিন্যাসটি জানতে পারে।

আপনি regex101.com , বা রুবি গন্ধে উপলব্ধ রেগেক্স -স্বাদগুলির মধ্যে একটি ব্যবহার করতে পারেন ।

  • পিসিআরই (পিএইচপি)
  • জাভাস্ক্রিপ্ট
  • পাইথন
  • Golang
  • চুনি

আপনি অবশ্যই কোনটি ব্যবহার করছেন তা অবশ্যই নির্দিষ্ট করতে হবে।

নোট:

  • আপনার অবশ্যই কোনও যুক্তিসঙ্গত বড় সমর্থন করা উচিত n। আপনি ধরে নিতে পারেন এটি ডেটাটাইপ বা মেমরির উপচে পড়বে না। যদি ডিফল্ট ডেটাটাইপটি 8-বিট স্বাক্ষরিত পূর্ণসংখ্যা হয়, তবে আপনি ধরে নিতে n<=11পারেন, এটি যদি স্বাক্ষরযুক্ত 8-বিট পূর্ণসংখ্যার হয়, তবে আপনি ধরে নিতে পারেন n<=15
  • ডাকাতদের অগ্রণী / পিছনের স্থান এবং নিউলাইনগুলি বাদে দাখিলের আউটপুট ফর্ম্যাটটি মেলাতে হবে, যেহেতু এটি এসই ফর্ম্যাটিং দ্বারা ছিনিয়ে নেওয়া হতে পারে।

বিজয়ী মানদণ্ড:

বিজয়ী হ'ল সংক্ষিপ্ত রেইগেক্সের সাথে অচিহ্নিত জমা দেওয়া হবে, যা অক্ষরের সংখ্যায় পরিমাপ করা হবে।

যদি আপনার পোস্টটি 7 দিনের জন্য আবদ্ধ না থেকে থাকে, তবে আপনি উদ্দেশ্য সমাধানটি পোস্ট করতে পারেন এবং আপনার জমাটি নিরাপদ হিসাবে চিহ্নিত করতে পারেন।


5
বীজ, দৈর্ঘ্য 1 .,।
ক্রিটসি লিথোস

1
আমি এখানে ডকুমেন্টেড যে কোনও একটি ভাষা ব্যবহার করতে পারি? কোডগলফ.স্ট্যাকেক্সেঞ্জিং

2
@ ক্রিটিক্সিলিথোস ব্যতীত আপনাকে নিরাপদ হওয়ার জন্য আপনার মূল প্রোগ্রামটি প্রকাশ করতে হবে ;-)
ইটিএইচ প্রোডাকশনস 8:17

3
@ প্রদীপ আগরওয়াল - একটি সাপ তৈরি করার জন্য আপনার কোডটি লিখুন, তারপরে একটি রেজেক্স সরবরাহ করুন যা এর সাথে মেলে। ডাকাতটির সমাধান অবশ্যই একই ভাষায় হওয়া উচিত এবং একই সাথে রেজেক্সের সাথেও মেলে। সুতরাং একটি কৌশল হ'ল একটি সীমাবদ্ধ রেগেক্স সরবরাহ করা, ডাকাতকে শক্ত করে তোলা, তবে এতটা সীমাবদ্ধ নয় যে আপনি সমাধানটি দেন!

2
এই মেটা conক্যমত্যের জন্য কি অবিবাহিত আই / ওকে সেডের অনুমতি দেয়, যার কোনও ডেটা টাইপ নেই, এই চ্যালেঞ্জের জন্য বৈধ?
শৈশুমারা

উত্তর:


9

05 এ বি 1 ই , এমবম্ব007 দ্বারা ক্র্যাক

আশা করি ফাটল মজা এবং খুব সুস্পষ্ট না।

রেজেক্স (পিসিআরই):

^\w*[+\-*\/%]*\w*.{0,2}$

আউটপুট n = 4:

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

আসল সমাধান

UXFXLNX*+NFR}ˆ

oooooomg - ছেলে যে ডোপ (অবশ্যই প্রশংসা)
তিলক ম্যাডি

@ mbomb007: অ্যাকসেন্ট সহ চিঠিগুলির সাথে \wকোনও মিল নেই। আপনি regex101
Emigna

1
আপনি নিজের রেজেক্সকে ছোট করে তুলতে .{0,2}পারবেন.?.?
অ্যারোন

1
আপনি -বন্ধনীযুক্ত চার শ্রেণির সর্বশেষ অবস্থানে রাখতে পারেন ( [+*\/%-]) যাতে আপনার এড়াতে হবে না।
দাদা 21

@ দাদা: এটি পিসিআরইতে সত্যই কাজ করে। আমি এখনই এটি সংক্ষিপ্ত করার বিষয়ে ভয়াবহভাবে উদ্বিগ্ন নই যেহেতু আমি বেশ নিশ্চিত যে এটি ক্র্যাক হবে ed যদিও এটি রাখা উচিত, আমি আপনার এবং অ্যারন উভয় পরামর্শ অন্তর্ভুক্ত করব। ধন্যবাদ :)
এমিগিনা


7

জেলি , দৈর্ঘ্য 6, ফাটল

রেজেক্স (পিসিআরই)

^.{9}$

নমুনা আউটপুট

 1  2  3  4
 8  7  6  5
 9 10 11 12
16 15 14 13

3
এটি
জেলিতে

1
কোনও নয়টি চরিত্র? আপনি উদার বোধ করছেন! : ডি
অ্যাডমবর্কবার্ক

1
'কোনও নয়' জেলিতে কয়টি ফাংশন ছিল?
ম্যাথু রোহ

আমি 99% নিশ্চিত যে শেষ চরটি Gআউটপুটটি সঠিকভাবে ফর্ম্যাট করতে হবে । আমি বাকী সমাধানের খুব কাছাকাছি, তবে জেলি দিয়ে অ্যারেতে অন্য সমস্ত আইটেমটি কীভাবে বিপরীত করা যায় তা আমি ঠিক বুঝতে পারি না ...
ETH প্রোডাকশনস

@ এইচটি প্রোডাকশন: আমি প্রায় নিশ্চিত ছিলাম আমার এটি প্রায় সমাধান হয়ে গেছে এবং আমার কাছে অন্য সমস্ত আইটেমকে উল্টানোর পদ্ধতি রয়েছে। আমার সমস্যাটি হ'ল আমি বুঝতে পারি না কীভাবে সমস্ত কিছু একসাথে আবদ্ধ করা যায় (আমি টিউটোরিয়ালটি চেষ্টা করি নি)। আমি যদিও এটি এতক্ষণে সমাধান হয়ে গেছে আশা করি। এটি আমার চেয়ে কঠিন হতে পারে।
এমিগানা

6

আর, দৈর্ঘ্য 14 প্ল্যানাপাস দ্বারা ফাটল

আমি আশা করি আমি এই রেগেক্স সঠিক পেয়েছি। আমি কি বলতে চাচ্ছি 77 ব্যতীত অক্ষর <space>, #, ;এবং [। আমি এটি এখানে পরীক্ষা করেছি

Regex

^[^ #;\[]{77}$

নমুনা আউটপুট n = 4

1 2 3 4 
8 7 6 5 
9 10 11 12 
16 15 14 13  

আমি ভেবেছিলাম এটি সহজ হবে তবে এই জাতীয় সংখ্যাগুলি আউটপুট করে আনতে আমার বড় সমস্যা হচ্ছে (কোনও ধরণের অ্যারে বনাম)। ভাল কাজ.
বিএলটি

1
@ বিএলটি ধন্যবাদ, চেষ্টা করা এবং কঠিন করা এটি একটি আকর্ষণীয় সমস্যা ছিল।
মিকিটি

ক্র্যাকড , যদিও সম্ভবত আপনার মত একই কোড নয়।
প্ল্যানাপাস


6

> <> দৈর্ঘ্য 49, হারুন দ্বারা ক্র্যাকড

রেজেক্স (জাভাস্ক্রিপ্ট)

^.{7}\n.{12}\n\?.{6};[^v^]{27}(\n.{13}:&.{2}){2}$

নমুনা আউটপুট (n = 4)

1 2 3 4 
8 7 6 5 
9 10 11 12 
16 15 14 13 

ফর্ম্যাট করা কিছুটা অদ্ভুত, তবে সংখ্যা দৈর্ঘ্যের জন্য পরীক্ষা করা এটি আরও দীর্ঘতর করে তুলত। রিজেক্সে কিছুটা ওভারবোর্ড চলে গেছে, নিশ্চিত নয়!

সম্পাদনা: এছাড়াও আমি উল্লেখ করতে ভুলে গিয়েছি, আমি প্রাথমিক স্ট্যাক (-v পতাকা) ইনপুট জন্য ব্যবহার করি, সাধারণ মাছের ইনপুট নয়। দুঃখিত!

আসল কোড:

<v1*2&:
 >:{:}=?v:1+
?^{r0}v;>&:&[r]{&:&2*+}::&:::&*@+@(
+:}=?v>n" "o&:&{1
0~{oa<^v?)*&::&:}

হারুন অনেক সহজ! আমার অরিজিনাল কোডটির জটিলতাটি এই n[r]বিভাগটি (সারি) ফ্লিপ করতে প্রতিটি এন-তম সংখ্যা ব্যবহার করার ধারণাটির উপর ভিত্তি করে তৈরি করা হয়েছে , তারপরে শেষে একবারে সমস্ত সংখ্যা মুদ্রণ করা হবে


1
..এর চেয়ে সংক্ষিপ্ত .{2};)
হারুন

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

@ অ্যারন চমৎকার কাজ! এছাড়াও হ্যাঁ আমি নিশ্চিত না যে আমি কীভাবে রেজিজেসে তা লক্ষ্য করিনি। ওহ ভাল :) আমি
আপনারটি

5

ওহম , ফেটে গেছে

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

রেজেক্স (পিসিআরই)

^\S{6}\W{0,3}\w$

আউটপুট (n = 4)

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

1
কিছু যদি এটি খুব সহজ হতে পারে। যদি .*আপনার রেজেজেসে থাকে তবে এটি যে কোনও কিছু হতে পারে। সুতরাং ভাষাটিতে যদি মন্তব্য থাকে তবে তারা কোনও মন্তব্য লিখে কোনও প্রোগ্রাম লিখতে পারে।
mbomb007

@ mbomb007 ভাল পয়েন্ট।
নিক ক্লিফোর্ড


@ এমিগনা ভাল হয়েছে!
নিক ক্লিফোর্ড

5

পিএইচপি, 221 বাইট ( ক্র্যাকড )

আমি আশা করি এটি যথেষ্ট কঠিন।

রেজেক্স (পিসিআরই): 16 বাইট

^[^\s/\#6]{221}$

কোনও স্থান নেই, কোনও মন্তব্য নেই, বেস 64-ডেকোডের ব্যবহার নেই। আনন্দ কর.

আউটপুট

  1  2  3  4
  8  7  6  5
  9 10 11 12
 16 15 14 13

আসল কোড

$w=$argv[1];$s="";$r=range(1,$w**2);for($i=0;$i<$w;$i++)if($i%2)array_splice($r,$i*$w,$w,array_reverse(array_slice($r,$i*$w,$w)));foreach(($r)as$v)$s.=str_pad($v,$l=strlen(max($r))+1,"\x20",0);echo(chunk_split($s,$l*$w));

দয়া করে নোট করুন যে উত্তরগুলি ব্যবহার করতে পারে base64_decodeকারণ আপনার রেজেক্স এটিকে সম্মতি দেয় না।
ক্যালকুলেটরফলাইন

4
@ ক্যালকুলেটরফলাইন: রেজেক্স ব্লকস 6, যা ব্লক করতে পারে base64_decode
নিনেনিও


উফ, মিস করলাম তবে it তাই এটা কোন ব্যাপার না।
ক্যালকুলেটরলাইন

5

সি # নেট 46 (ক্র্যাকড)

( http://ideone.com/ কাজ করে)

রেজেক্স পিসিআরই গন্ধের দৈর্ঘ্য 58 রিজেক্স 101 এ পরীক্ষিত

^sta((?![\d%bh\/]|==|if|(\[.*){4}|(i.*){6}).){142}urn....$

কেবলমাত্র পদ্ধতিটি পুনরায় প্রয়োগ করা হয়। পদ্ধতি একটি ইনপুট n = 4 এর জন্য একটি 2 ডি ইন [,] অ্যারে (int [4,4]) প্রদান করে। যদি মুদ্রিত দেখতে এমন লাগে:

1 2 3 4 
8 7 6 5 
9 10 11 12 
16 15 14 13 

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

আসল কোড:

static int[,]g(int n){int l,j,k=n-n,c,s;var _=new int[n,n];var d=n!=n;c=k;c++;s=k;for(l=k;l<n;l++){for(j=k;j<n;j++){_[l,d?n-j-c:j]=++s;}d=!d;}return _;}


ভাল হয়েছে, আমার দৈর্ঘ্যকে কমপক্ষে চ্যালেঞ্জ করার চেষ্টা করা উচিত ছিল ...
একলিপজেড

5

কিউব্যাসিক, রেজেক্স দৈর্ঘ্য 10 ( ক্র্যাকড )

Regex

যে কোনও রেগেক্স গন্ধে কাজ করা উচিত, তবে আমরা একে পাইথন গন্ধ বলব।

([A-Z]+.)+

দ্রষ্টব্য: আমার সমাধানটি অপরঠিত কিউব্যাসিক ব্যবহার করে; ফর্ম্যাটিংয়ের পরে, কোড যুক্ত স্থানগুলির কারণে রেজেক্সের সাথে মেলে না। (কিন্তু আমি করতে পারেন তোমাদের সত্যি বলছি, যে শুধুমাত্র পরিবর্তন যে একটি পার্থক্য তোলে। ([A-Z]+ ?. ?)+এখনও ফরম্যাট সংস্করণ উপর কাজ করে।)

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

নমুনা আউটপুট

 1  2  3  4 
 8  7  6  5 
 9  10  11  12 
 16  15  14  13 

সুতরাং উত্সের সমস্ত চিহ্নগুলি অবশ্যই একটি চিঠির আগে হওয়া উচিত।
ক্যালকুলেটরফলাইন

এক বা একাধিক অক্ষর
mbomb007

আচ্ছা প্রয়োজন কারণ সমতূল্য \w+\Wবিভক্ত করা করতে পারেন \w*এবং \w\W। ( \w*হয় হয় null(তুচ্ছ) বা \w+(সহজেই একটি প্রতীক দিয়ে ছোঁয়া))
ক্যালকুলেটরফলাইন

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


5

পাইথন 3, 55 বাইট (ক্র্যাকড)

পিসিআরই / পাইথন / গোলং গন্ধ

def [triangles=(1,SNAKE)]{27}:print[]SNAKE(--:>or[]{48}

(মনে করিয়ে দিন যে পুরো ম্যাচটি প্রয়োজন Ass অনুমান করুন ^এবং $কখন পরীক্ষার জন্য))

নমুনা আউটপুট:

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

আসল সমাধান:

def r(N,S=1,A=1,K=range,E=list):print(E(K(S,S+N))[::A])or(S+N>N*N)or(r(N,S+N,-A,K,E))

4 বাইট ছাঁটাই করা উচিত: পি


আমার কাছে মনে হচ্ছে আপনি )
রেইগেক্সের

@ JörgHülsermann কিছুই অনুপস্থিত, রেজেক্স সঠিক
কেনেটিম

1
@ জার্গহালসারম্যান আরও (একটি চরিত্রের ক্লাসের ভিতরে শুরু হয় printএবং এর আগে শুরু হয় {48}। এটি দেখতে আমাকে কিছুক্ষণ সময় লাগল। ;) (যে বিষয়টি জন্য, প্রথম বন্ধনী আগের যুগল একটি চরিত্র শ্রেণী ভেতরে)।
DLosc

@DLosc এখন এটি পরিষ্কার। আপনাকে ধন্যবাদ
J:0rg Hülsermann


5

ডিসি , রেইজেক্স দৈর্ঘ্য 12   ক্রেশড শেশুমারা!

^[^# !]{59}$

এই নিয়মিত অভিব্যক্তিটি যথেষ্ট সহজ যা আমি ভাবি না যে রেজেক্সের বিষয়গুলির গন্ধ - এটি বোর্ড জুড়ে কাজ করা উচিত। (রেজেক্সে # এর পরে স্থানটি নোট করুন))

আমি regex101.com (পিসিআরই / পিএইচপি, জাভাস্ক্রিপ্ট, পাইথন, এবং গোলং), পাশাপাশি রুবুলার.কম-এ রুবি সংস্করণে চারটি স্বাদ পরীক্ষা করেছি। ডিসি প্রোগ্রামটি পাঁচটি রিজেক্স সংস্করণে রেজেক্সের সাথে মেলে।


ডিসি প্রোগ্রাম স্ট্যান্ডিনে তার ইনপুট নেয় এবং স্ট্যান্ডআউটে তার আউটপুট রাখে।

ইনপুট 4 এর জন্য নমুনা আউটপুট (প্রতিটি লাইনের শেষে একটি পিছনের জায়গা আছে):

1 2 3 4 
8 7 6 5 
9 10 11 12 
16 15 14 13 

আসল কোড (ক্র্যাক হওয়ার পরে যুক্ত)

এটি @seshoumara দ্বারা ক্র্যাক হয়েছে । এখানে আমার উদ্দেশ্য কোড:

?sd[AP]s+0[dddld/2%rld%2*1+ldr-*+1+n2CP1+dld%0=+dvld>l]dslx

ব্যাখ্যা:

?sd      Input number and store it in register d.
[AP]s+   Macro that prints a newline. The macro is stored in register '+'.
0        Push 0 on the stack, initializing a loop.  (The top of the stack is the index variable.  It will go up to d^2-1.)
[        Start a macro definition.  (The macro will be stored in register l.)
ddd      Push 3 copies of the loop index variable on the stack, so they'll be available later. I'll call this number i.
ld/      Divide the last copy of i by d (integer division); this computes the row of the square that we're in (starting with row 0).
2%       Replace the row number with 0 if the row number is even, with 1 if the row number is odd.
r        Swap the top two items on the stack, so the top item is now the next to last copy of i, and the second item on the stack is the row number mod 2.
ld%      Compute i mod d; this goes from 0 to d-1. It is the column in the square that the next number will be placed in.  (The leftmost column is column 0.)
2*1+     Top of the stack is replaced with 2*(column number)+1.
ldr      Inserts d as the second item on the stack.
-        Computes d-2*(column number)-1.
*        The second item on the stack is the row number mod 2, so multiplying yields 0 if the row number is even, and d-2*(column number)-1 if the row number is odd.
+        Add to the remaining copy of i. The sum is i itself in even-numbered rows, and it's i+d-2*(column number)-1 in odd-numbered rows.

স্ট্যাকের শীর্ষে যোগফলটি পরবর্তী নম্বরটি আমরা মুদ্রণ করতে চাই:

  • এটি সুনির্দিষ্টভাবে দেখতে সহজ যে সারি সংখ্যাটি সমান হলে, এর পরে যোগফলটি কেবল i।

  • বিজোড়-সংখ্যাযুক্ত সারিগুলির জন্য, খেয়াল করুন যে i = d * (i / d) + (i% d) = d * (সারি সংখ্যা) + কলাম নম্বর। এটি অনুসরণ করে যে সমষ্টি i + d-2 * (কলাম নম্বর) -1 হ'ল ডি * (সারি সংখ্যা) + কলাম নম্বর + ডি - 2 * (কলাম নম্বর) - 1 = ডি * (সারি সংখ্যা + 1) - কলাম নম্বর - 1, আমরা বিজোড়-সংখ্যাযুক্ত সারিগুলিতে পিছনের দিকে গণনা করছি তা নিশ্চিত করতে আমরা নির্দেশিত সারি এবং কলামে যে নম্বরটি রাখতে চাই তা নিশ্চিত।

এখনই ব্যাখ্যায় ফিরে:

n        Print the desired number for the current row and column.
2CP      Print a space.  (2C, which is computed by dc as 20 + 12, is 32, the ASCII code for a space.)
1+       The original copy of i is at the top of the stack; add 1 to it.
dld%0=+  If (the incremented value of) i is a multiple of d, call the macro at register '+', which prints a newline.
dvld>l   If d > sqrt(i) (in other words, if i < d^2), then go back to the top of the loop by calling macro l again.
]dslx    End the macro definition, store the macro in register l, and execute it.

চরগুলি #এবং `` কে কী বাদ দেওয়া হয়েছে যাতে একটি সংক্ষিপ্ত সমাধান 59 বাইটে পৌঁছানোর জন্য মন্তব্যগুলি ব্যবহার করতে পারে না? যদি তা হয় তবে ডিসিতে কোনও প্রয়োজন নেই যে কমান্ড যুক্ত করার অনেক উপায় রয়েছে যা প্রাক্তন হিসাবে কিছু পরিবর্তন করে না। qস্ক্রিপ্ট শেষে কমান্ড পুনরাবৃত্তি ।
সেশোমারা

@seshoumara এখনও বোঝা যাচ্ছে না রেজেক্সকে সংক্ষিপ্ত করে রাখার সময় সেই দিকটিতে নল হওয়া। তবে আপনি ঠিক বলেছেন। (এটি আমার প্রথম পুলিশ-ডাকাতদের এন্ট্রি, সুতরাং এটি কতটা সহজ তা আমি নিশ্চিত নই।)
মিচেল স্পেক্টর

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

@ সশৌমারা চমৎকার কাজ!
মিচেল স্পেক্টর

@ সেশৌমারা যাইহোক, দুটি ধারাবাহিক সংখ্যার ধ্রুবক পৃথক করতে ডিসিগুলিতে স্পেসগুলিও দরকারী, সুতরাং আপনার যদি সেই কার্যকারিতাটির প্রয়োজন হয় তবে স্পেসগুলি নিষিদ্ধ করার জন্য কাজ করা উচিত। যাইহোক, একটি স্থান মুদ্রণ কোন বড় চুক্তি, কারণ 32Pতুলনায় খাটো [ ]nযাহাই হউক না কেন।
মিচেল স্পেক্টর

5

বাশ, রেজেক্স দৈর্ঘ্য 38, ক্র্যাকড ( @ টেনিটেম )

^sort -n <[1adegnopqrstx$\-*()|'; ]+$

ইনপুট:

n=4; <command>

আউটপুট:

1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13


আপনি খুশী হয়ে আপনি @knynytm এটিকে উপভোগ করেছেন তবে আপনি আমার মূল কমান্ড হিসাবে সঠিক সমাধান খুঁজে পেয়েছেন!
মার্কোস এম

5

পিএইচপি

আমি আশা করি এটি একটি মজাদার হবে! : ডি

আউটপুট (n = 4)

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

স্তর 1: পিসিআরই (দৈর্ঘ্য = 17) ( জার্গ হালসারম্যান ক্র্যাকড )

^<[^'"\d{vV;<$]+$
  • কোনও একক বা ডাবল উদ্ধৃতি নেই ... স্ট্রিং নেই!
  • সংখ্যা নেই!
  • না {তাই না ... কোনও বেনামে ফাংশন নেই!
  • না vতাই না ... না eval()!
  • না ;তাই ... এটি একটি একক বিবৃতি হতে হবে!
  • না <তাই ... না Heredocবা একাধিক পিএইচপি ব্লক!
  • বড় এক! কোন $ তাই ... সৌভাগ্য সংজ্ঞা ভেরিয়েবল! >: D:

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

স্তর 2: পিসিআরই (দৈর্ঘ্য = 23) ( জার্গ হালসারম্যান ক্র্যাকড )

^<[^'"\d{v;<$_~|&A-Z]+$
  • স্তর 1 এর সমস্ত বিধিনিষেধ
  • এই স্তরে নতুন: এর কোনওটিই নয় _~|&A-Z! :)

আনন্দ কর!


মূল সমাধান

সুতরাং, $ভেরিয়েবলগুলি নিষিদ্ধ করা নিয়মিত পদ্ধতিতে অ্যাক্সেস করা যায়নি, তবে এর অর্থ এই নয় যে সেগুলি মোটেও ব্যবহার করা যায় না! আপনি এখনও extract()/compact()বর্তমান স্কোপে ভেরিয়েবলগুলি আমদানি / রফতানি করতে ব্যবহার করতে পারেন । :)

$i = 1;
// can be written as
extract(['i' => 1])

echo $i;
// can be written as
echo compact('i')['i'];

তবে, একটি গ্যাচা আছে: compact('x')['x']++কাজ করবে না কারণ পিএইচপি-র ভেরিয়েবলগুলি মান দ্বারা পাস হয় ... একটি ব্যতিক্রম সহ! অবজেক্টস।

$x = (object) ['i' => 1];
// is
extract(['x' => (object) ['i' => 1]]);

// and
compact('x')['x']->i++;
// works just fine!

বাকিটা সহজ।

  • নাম্বার 0এবং 1সহজে রূপান্তর দ্বারা উত্পন্ন হয় falseএবং trueকরতে intতাদের সাথে prepending দ্বারা +চিহ্ন
  • ব্যবহার করুন andএবং orযেহেতু &এবং |নিষিদ্ধ
  • নিষিদ্ধ উদ্ধৃতিগুলির চারপাশে কাজ করার জন্য, কেবল অপরিশোধিত ধ্রুবক ব্যবহার করুন, যা স্ট্রিং হিসাবে বিবেচিত হবে
  • অপরিশোধিত ধ্রুবক ব্যবহার করে উত্পন্ন বিজ্ঞপ্তিগুলি দমন করতে, কেবল ব্যবহার করুন @
  • নিষিদ্ধ চিঠিটি vব্যবহার করে তৈরি করা যেতে পারে chr(ord('u') + 1), যা @chr(ord(u) + true)উপরের কাজের ক্ষেত্রগুলি ব্যবহার করে অনুবাদ করে
  • আন্ডারস্কোর উপরের মতো: chr(ord('a') - 2)যা অনুবাদ করেchr(ord(a) - true - true)
  • নিষিদ্ধ অক্ষরযুক্ত কলিং ফাংশনগুলি পিএইচপি এর callableধরণের সুবিধা গ্রহণ করে করা যেতে পারে যা ফাংশনের নাম সম্বলিত একটি স্ট্রিং হতে পারে। সুতরাং, আপনি ord()ফাংশনটির নাম তৈরির জন্য উত্পন্ন সংজ্ঞায়িত ধ্রুবক এবং একক চরিত্রের স্ট্রিংগুলিকে একত্রিত করতে এবং এটিকে অনুরোধ করতে পারেন: array_reverse()হয়ে যায় (a.rray.chr(ord(a)-true-true).re.chr(ord(u)+true).erse)()( arrayএটি একটি ভাষা গঠন, এ কারণেই এটি অপরিজ্ঞাত স্থানে বিভক্ত হয় aএবং rray)
  • সত্যতাটি গ্রহণ করুন যে, যখন এটি শর্তসাপেক্ষ এবং লুপ কনস্ট্রাক্টসের কথা আসে তখন কোঁকড়ানো বন্ধনীগুলি alচ্ছিক হয় যদি কনস্ট্রাক্ট কেবল অবিলম্বে নিম্নলিখিত বিবৃতিতে প্রযোজ্য হয়। এর অর্থ আপনি এই জাতীয় জিনিসগুলি করতে পারেন: if ($n = $argv[1] and $i = 0) while ($n > $i++ and do_some and other_stuff or exit)

মানব পাঠযোগ্য কোডে যুক্তিটি হ'ল:

if (
    $x = (object) [
        'result' => [],
        'i' => 0
    ]

    and

    define('n', $argv[1])

    and

    define('un', '_')

    and

    // create the initial set which we'll loop through
    define('segments', array_chunk(range(1, pow(n, 2)), n))
) while (
    // store each odd segment as-is and increment the "pointer"
    ($x->result[] = @segments[$x->i++])

    and

    // store each even segment reversed and increment the "pointer"
    ($x->result[] = @array_reverse(segments[$x->i++]))

    and

    // check if we need to break out of the loop
    n > $x->i

    or

    // exit and output the result if the above is false
    die(json_encode(
        // if n is odd, the above would have copied a NULL entry 
        // from the segments, so it needs to be filtered out
        array_filter($x->result)
    ))
)

এবং বন্ধুত্বপূর্ণ সংস্করণ যা রেজেক্সের সাথে মেলে:

<?php if (@extract([x=>(object)[s=>[],i=>+false]])and@define(n,compact(arg.chr(ord(u)+true))[arg.chr(ord(u)+true)][+true]?:+true)and@define(un,chr(ord(a)-true-true))and@define(s,(a.rray.un.chunk)(range(+true,pow(n,true+true)),n)))while((@compact(x)[x]->s[]=s[@compact(x)[x]->i++])and(@compact(x)[x]->s[]=(a.rray.un.re.chr(ord(u)+true).erse)(s[@compact(x)[x]->i++]))and(n>@compact(x)[x]->i)or(@die((json.un.encode)((a.rray.un.filter)(@compact(x)[x]->s)))))?>


@ জার্গহেলসারম্যান যেহেতু আমার রেজেক্সটি অনেক দীর্ঘ ছিল এবং আমি এটির জয়ের কোনও সুযোগ পাব বলে আশা করি না, আমি কেবল ধরেই নিয়েছি যে রেজেক্স ইঞ্জিনের কেস সংবেদনশীলতা হিসাবে লোকেরা এই জাতীয় প্রযুক্তিগুলিতে খুব বেশি ঝুঁকবে না। যাইহোক, আমি আমার উত্তরটি সম্পাদনা করেছি যাতে রেজেক্সে এখন একটি মূলধন অন্তর্ভুক্ত V। আনন্দ কর! :)
21:


1
@ জার্গহালসারম্যান এটি আসলে একই কোড তবে আমি প্রথমে একটি আলগা নিয়মিত ভাব প্রকাশ করেছি কারণ লোকেরা কী কী সমাধান নিয়ে আসতে পারে সে সম্পর্কে আমি আগ্রহী ছিলাম was আমি এটিকে আরও একদিন দিব (সম্ভবত কেউ কেউ সপ্তাহের শেষের দিকে শট নিতে চাইবে) এবং আমি আমার কোড এবং ব্যাখ্যাগুলি কাল রাতে পোস্ট করব। আমি এখনই আপনাকে যা বলতে পারি তা হ'ল আপনি অনির্ধারিত ধ্রুবককে স্ট্রিং হিসাবে ব্যবহার করার বিষয়ে সঠিক পথে ছিলেন। এছাড়াও, আপনি আপনার সমাধানের কিছু সম্পর্কে ভুল ছিলেন। আপনি কল করতে পারেন(array_re.chr(ord(u)+true).erse)() ! :) (... বা _অনুমতি পেলে অন্তত আপনি পারতেন )
আয়নুট বটিজান

3
@ আইয়নটবিটিজান ক্র্যাক হওয়ায় আপনি আপাতত স্তরের 1 স্তরের সমাধানটি গোপন রাখতে পারেন। লেভেল ২ কে নতুন পোস্ট হিসাবে তৈরি করা আপনার পক্ষে এখনও আরও ভাল, এটি অন্যদের পক্ষে ক্র্যাক হয়েছে কিনা তা যাচাই করা আরও সহজ।
কেনেটিএম

1
স্তর 2 ক্র্যাকড regex101.com/r/XtVl9G/1 ইঙ্গিতটির জন্য আপনাকে ধন্যবাদ এখন আমি স্তরের 3 :-)
জার্গ হালসারম্যান

5

রুবি [ফাটল]

প্রথম পুলিশ এবং ডাকাতরা চ্যালেঞ্জ জানায়। আশা করি আমি এটিকে খুব সহজ করিনি।

সম্পাদনা: এগুলি প্রতিস্থাপন \g<1>করা হয়েছে (?1)কারণ তারা স্পষ্টতই পিসিআরই সমতুল্য।

Regex (PCRE)

^(\W?\W\w){4}..(?1){2}[(-=Z-~]*(?1){5}\w*(?1)(.)\2$

আউটপুট (n = 4)

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

(অ্যারেগুলির একটি অ্যারে ফিরিয়ে দেয় It's এটি ল্যাম্বডা, বিটিডাব্লু, তবে সম্ভবত এটি খুব বেশি পরিমাণে দেবে?)



4

জাভাস্ক্রিপ্ট (ক্র্যাকড)

প্রথমবার কোনও কপস এবং ডাকাত চ্যালেঞ্জ করছেন, আশা করছি এটি সঠিকভাবে করা হচ্ছে।

রেজেক্স (জাভাস্ক্রিপ্ট)

^.*(\.\w+\(.*\)){4}$

আউটপুট

এর সমান একটি অ্যারে:

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

$যদি কোডটি নিজেই রেজেক্সের শেষে শেষ হয় তবে আপনি রেজেক্সের শেষে চাইবেন । অন্যথায় আমি উদাহরণস্বরূপ x=>x.toString().toString().toString().toString()এবং তারপরে যা চাই তা করতে পারি ।
ইটিএইচ প্রডাকশনগুলি 8:48

@ ইথ প্রডাকশনস ভাল পয়েন্ট, টিপ জন্য ধন্যবাদ!
টম


1
@ ওভস ওয়াও, এটি দ্রুত ছিল। সাবাশ!
টম

4
@ টম .*শুরুতে এটি সত্যিই সহজ করে তুলেছে। এটি কোনও মন্তব্য অনুসরণ করার পরে কোনও প্রোগ্রাম হতে পারে। মূলত, .*আপনার রেজেক্সে অন্তর্ভুক্ত করবেন না ।
mbomb007

4

সুইফ্ট, রেজেক্স 25 (ক্র্যাকড)

ঠিক আছে, আসুন দেখুন আমি এটির স্তব্ধতা পেয়েছি কিনা। এটি আমার প্রথম পুলিশ এবং ডাকাত পোস্ট, সুতরাং লেমমে জেনেছি আমি যদি গণ্ডগোল করেছি তবে!

Regex

আমি regex101.com এ জাভাস্ক্রিপ্টের স্বাদ ব্যবহার করেছি

^.{21}print[^/]{49}o.{7}$

নমুনা আউটপুট

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

আসল কোড

(0..<n).forEach{i in print((0..<n).map{i%2>0 ?(i+1)*n-$0 :i*n+$0+1},separator:",")}


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

দ্রষ্টব্য: আপনি পোস্টটি রাখতে পারেন, যেহেতু এটি ইতিমধ্যে ফাটল পড়েছে :)
স্টিভি গ্রিফিন

@Stewie। তথ্যের জন্য ধন্যবাদ, আমি অতীতে এই ধরণের প্রশ্ন এড়িয়ে যাওয়ার একটি কারণ আছে! এই উত্তরটি ক্র্যাক হওয়ার পরে আমি "কেবলমাত্র একটি ফাংশন" এর ধারণাটি আরও ভালভাবে বুঝতে পারি বলে আমি মনে করি। আমি ধরে নিয়েছিলাম যে এটি কোনও ফাংশনের মূল অংশ বোঝায়, তবে আমি এখন জড়ো এটির অর্থ একটি ফাংশন ভেরিয়েবল?
জেমস ওয়েবস্টার

4

সি - দৈর্ঘ্যের 42 টি অক্ষরের রেজেক্স - ফাটল

Regex101 তে ব্যবহৃত জাভাস্ক্রিপ্ট রেজেক্স ।

^[-h<=*c+m?{printf("\/a: %d\\',o);}]{137}$

অনুমান করা এটি তুচ্ছ হবে ...

> main 4
1   2   3   4
8   7   6   5
9   10  11  12
16  15  14  13
>

আউটপুট \nপ্রতিটি লাইনের পরে ট্যাব-সীমাবদ্ধ হয় ।

আমার সমাধান, এখানে ইন্টিজার 0 - 2 মাধ্যমে প্রাপ্ত হয় t-t, t/tএবং t:

main(int t,char**a){int o=t-t,i=t/t,m,n,h=atoi(*(a+i));for(m=o;m<h;m++)for(n=o;n<h;n++)printf("%d%c",m*h+(m%t?h-n:n+i),n<h-i?'\t':'\n');}

আপনি rআপনার রেজেক্সে একটি মুছে ফেলতে পারেন ।
কেনেটিএম

@ ক্যানিটিএম - ধন্যবাদ - একটিকে মিস করেছেন


4

জেলি , দৈর্ঘ্য 14 ফাটল

ডেনিস দ্বারা ফাটল

[^/P-`mvḊ-ṫ€]*

পাইথন রেজেক্স

যোগ করা হয়েছে mআবার পরে আমি এটা চিলতা দিন ফিরে।

/(দ্রুত হ্রাস);
থেকে Pকরার জন্য (পণ্য) `(দ্বৈত দ্রুত থেকে একসংখ্যা);
m(মডুলো ইনডেক্সিং);
v(ইভাল ডায়াড);
থেকে করার জন্য (dequeue জন্য) (লেজ); এবং
(প্রতিটি দ্রুত জন্য)

4খনি আউটপুটগুলির একটি ইনপুট জন্য :

 1  2  3  4
 8  7  6  5
 9 10 11 12
16 15 14 13

... কারণ আমি গ্রিড হিসাবে তালিকার একটি তালিকা ফর্ম্যাট করেছি G


কর্কশ। এটি একটি মজার এক।
ডেনিস

4

পাওয়ারশেল, 23 বাইট

ম্যাক ফাটল

^.+?%.{42}%.{11}:.{35}$

আসল সমাধান:

$n="$args";$script:r=0;$a=1..$n|%{$t=++$script:r..($script:r+=$n-1);if(!($_%2)){[Array]::Reverse($t)};,$t};$a|%{$_-join" "}

যুক্তি হিসাবে স্টপ এবং আউটপুট হিসাবে ইনপুট লাগে

আশা করি এই রেজেক্স ঠিক আছে, আমি আশা করি না এটি ক্র্যাক করা খুব কঠিন হয়ে পড়েছে, কারণ আমি এটির অনেকটা ব্যয় করি নি, এবং রেজেক্স শূন্যস্থান পূরণ করার জন্য কয়েকটি ভাল পয়েন্ট দেয়, প্রথম বিভাগে একটি জিনিস আছে কোড গল্ফে যা খুব অস্বাভাবিক, যদিও এটি কাউকে আটকায়, আমি মনে করি এটাকে কিছুটা আরও শক্ত করার জন্য সেখানে অ-লোভী মিল দরকার required

প্রথম পুলিশ যেভাবেই চ্যালেঞ্জ জানায়।

1..4 | % { "----$_----" ; .\snake-cops.ps1 $_  }
----1----
1
----2----
1 2
4 3
----3----
1 2 3
6 5 4
7 8 9
----4----
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13


আপনার সমাধান কি ছিল?
ম্যাট

@ ম্যাট যোগ করেছেন, আমি বুঝতে পেরেছিলাম যে আমি কয়টি নন-কোড-গল্ফ জিনিস যুক্ত করেছি তার অর্থ বিবেচনা করা শক্ত হবে, অর্থাত্ [Array]::Reverse()পরিবর্তে $array[9..0]এবং $script:rভেরিয়েবলগুলি ব্যবহার করা যা বেশিরভাগ ক্ষেত্রে অনর্থক।
কলসডাব্লু

4

R 0.1da 0.12 , দৈর্ঘ্য 19 (@ ক্রিতিক্সিলিথোস দ্বারা ক্র্যাকড)

PCRE:

^{(\|[^\/#\s]*){8}$

নমুনা আউটপুট (n = 4):

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

আসল কোড:

{|n|seq(0,n-1+n%2)|push([{|i|seq(n*i+1,n*i+n)}(_)],[{|j|seq(n*j+n,n*j+1,step=-1)}(_)])|head(n)}

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


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

আমি আশা করি ডকুমেন্টেশনটি ইংরেজিতে রয়েছে, যদিও ফিনিশ নয় :)
স্টিভি গ্রিফিন

@ স্টেভিগ্রিফিন এখানে কিছু ডকুমেন্টেশন উপলব্ধ। আমি কি আমার উত্তরের একটি লিঙ্ক যুক্ত করব বা গিথুব পৃষ্ঠা থেকে পাওয়া যথেষ্ট সহজ?
ফার্গুসক


4

পিএইচপি 7 (নিরাপদ)

আসল কোড

for($z=0,$q="";$z<($x=$argv[1])**2;){$w=($d=intdiv($z,$x))%2?($d+1)*$x-$z%$x:($z+1);for($f=0;$f<(log10($x**2)^0)-(log10($w)^0);$f++)$q.="\x20";$q.=++$z%$x?"$w\x20":"$w\n";}print(rtrim($q));

দ্বিতীয় চেষ্টা

রেজেক্স (পিসিআরই): 29 বাইট

^[^A-Z#\/\s\>busy_heck]{189}$

কোনও স্থান নেই, কোনও মন্তব্য নেই, বেস 64-ডেকোডের ব্যবহার নেই।

অনেক ক্রিয়াকলাপ অনুমোদিত নয়! আন্ডারস্কোর

আউটপুট n = 11

  1   2   3   4   5   6   7   8   9  10  11
 22  21  20  19  18  17  16  15  14  13  12
 23  24  25  26  27  28  29  30  31  32  33
 44  43  42  41  40  39  38  37  36  35  34
 45  46  47  48  49  50  51  52  53  54  55
 66  65  64  63  62  61  60  59  58  57  56
 67  68  69  70  71  72  73  74  75  76  77
 88  87  86  85  84  83  82  81  80  79  78
 89  90  91  92  93  94  95  96  97  98  99
110 109 108 107 106 105 104 103 102 101 100
111 112 113 114 115 116 117 118 119 120 121

আউটপুট n = 4

 1  2  3  4
 8  7  6  5
 9 10 11 12
16 15 14 13

আউটপুট n = 3

1 2 3
6 5 4
7 8 9

আমি বিশ্বাস করি আপনার উত্তরটি এখন নিরাপদ :)
অ্যারোন

@ অ্যারন আমি অবাক হয়েছি যে এটি ফাটল ছিল না। আসল কোডটি যুক্ত করা হয়েছে
Jörg Hülsermann

4

এমএটিএল , দৈর্ঘ্য 12 (নিরাপদ)

Regex

পাইথন গন্ধ ব্যবহার করুন:

(\w{3}\W){5}

উদাহরণ আউটপুট

এর জন্য n=4:

 1  2  3  4
 8  7  6  5
 9 10 11 12
16 15 14 13

সমাধান

txU:GeG:oEq*S5M*TTx!

এটি কীভাবে কাজ করে তা দেখতে ইনপুটটি বিবেচনা করুন n=4

tx   % Implicit input n, duplicate, delete. So this does nothing
     % STACK: 4
U    % Square
     % STACK: 16
:    % Range
     % STACK: [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
Ge   % Reshape as an n-row array in column major order
     % STACK: [1  5  9 13;
               2  6 10 14;
               3  7 11 15;
               4  8 12 16]
G:   % Push range [1 2 ... n]
     % STACK: [1  5  9 13;
               2  6 10 14;
               3  7 11 15;
               4  8 12 16]
               [1 2 3 4]
o    % Modulo 2
     % STACK: [1  5  9 13;
               2  6 10 14;
               3  7 11 15;
               4  8 12 16]
              [1  0  1  0]
Eq   % Times 2, minus 1 (element-wise)
     % STACK: [1  5  9 13;
               2  6 10 14;
               3  7 11 15;
               4  8 12 16]
              [1 -1  1 -1]
*    % Multiply (element-wise with broadcast)
     % STACK: [1 -5  9 -13;
               2 -6 10 -14
               3 -7 11 -15
               4 -8 12 -16]
S    % Sort each column
     % STACK: [1 -8  9 -16;
               2 -7 10 -15;
               3 -6 11 -14;
               4 -5 12 -13]
5M   % Push [1 -1 1 -1] again
     % STACK: [1 -8  9 -16;
               2 -7 10 -15;
               3 -6 11 -14;
               4 -5 12 -13]
              [1 -1  1  -1]
*    % Multiply (element-wise with broadcast)
     % STACK: [1  8  9  16;
               2  7 10  15;
               3  6 11  14;
               4  5 12  13]
TTx  % Push [true true] and delete it. So this does nothing
!    % Transpose. Implicitly display
     % STACK: [ 1  2  3  4;
                8  7  6  5;
                9 10 11 12;
               16 15 14 13]

4

জেলি , দৈর্ঘ্য 17 (নিরাপদ)

[^/P-`mvÇ-ıḃ-ṫ€]*

পাইথন রেজেক্স

গিঁটটি শক্ত করা, এটি আরও কিছু দরকারী জিনিসকে নিষিদ্ধ করে, আপনার সহায়তার জন্য এখানে নিষিদ্ধ বাইট রয়েছে:

/PQRSTUVWXYZ[\]^_`mvÇÐÑ×ØÞßæçðñ÷øþĊċĖėĠġİıḃḄḅḊḋḌḍḞḟḢḣḤḥḲḳḶḷṀṁṂṃṄṅṆṇṖṗṘṙṚṛṠṡṢṣṪṫ€

তাদের এক তৃতীয়াংশ অধীনে!

4খনি আউটপুটগুলির একটি ইনপুট জন্য :

 1  2  3  4
 8  7  6  5
 9 10 11 12
16 15 14 13

... কারণ আমি গ্রিড হিসাবে তালিকার একটি তালিকা ফর্ম্যাট করেছি G

একটি সমাধান:

’:2o1
Ḃ¬aẋ@0
’r0;0ẋ$ẋ1Ŀ¬0¦;2ĿÆ¡œ?⁸²¤s⁸G

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

এখানে মূল কৌতুক পর্যন্ত স্বাভাবিক সংখ্যার একাধিক বিন্যাসন একটি lexicographically সাজানো তালিকায় সূচক হয় এন 2 (ব্যবহার œ?দৈর্ঘ্যের তালিকা বিল্ডিং এড়াতে এন 2 ! ), এবং দৈর্ঘ্য খন্ডে ফলাফলের বিভক্ত করতে এন । উপরোক্ত সূচকটি ফ্যাক্টরিয়াল সংখ্যা পদ্ধতিতে উপস্থাপনের মাধ্যমে পাওয়া যায় যা সূত্রযুক্ত যেহেতু "অবিকৃত" সাপটি নির্ধারিত পদ্ধতিতে অনুমতি দেওয়ার মাধ্যমে তৈরি করা হয়েছিল (এটি সহজেই সংখ্যায় রূপান্তরিত হতে পারে Æ¡)।

আমি যে সমাধানটি উপস্থাপন করেছি Ŀতা পূর্ববর্তী লিঙ্কগুলিকে মনাদ (প্রতিস্থাপন Ñএবং Ç) হিসাবে উল্লেখ করার জন্য ব্যবহার করে , তবে $এই সহায়ক সহায়ক ফাংশনগুলিকে "ইনলাইন" না করে একাধিক সারিতে একাধিক নিয়োগ করা যেতে পারে। এটি তখন rথেকে ব্যবহার করে এবং Rনিষিদ্ধ।

’:2o1 - Link 1, periodic repetitions in the factorial base representation: n
’     - decrement n
 :2   - integer divide by 2
   o1 - or 1 (keep one period in the cases n=1 and n=2)

Ḃ¬aẋ@0 - Link 2, n zeros if n is even, else an empty list: n
Ḃ      - mod 2
 ¬     - not
   ẋ@0 - 0 repeated n times
  a    - and

’r0;0ẋ$ẋ1Ŀ¬0¦;2ĿÆ¡œ?⁸²¤s⁸G - Main link: n                    e.g. 6
’r0                        - inclusive range(n-1, 0)              [5,4,3,2,1,0]
    0ẋ$                    - 0 repeated n times                   [0,0,0,0,0,0]
   ;                       - concatenate (makes one "period")     [5,4,3,2,1,0,0,0,0,0,0,0]
        1Ŀ                 - call link 1 as a monad               2
       ẋ                   - repeat list                          [5,4,3,2,1,0,0,0,0,0,0,0,5,4,3,2,1,0,0,0,0,0,0,0]
           0¦              - apply to index 0 (rightmost index):
          ¬                -     not (make the last 0 a 1)        [5,4,3,2,1,0,0,0,0,0,0,0,5,4,3,2,1,0,0,0,0,0,0,1]
              2Ŀ           - call link 2 as a monad               [0,0,0,0,0,0]
             ;             - concatenate                          [5,4,3,2,1,0,0,0,0,0,0,0,5,4,3,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0]
                Æ¡         - convert from factorial base          45461852049628918679695458739920
                      ¤    - nilad followed by link(s) as a nilad
                    ⁸      -     left argument, n                 6
                     ²     -     square                           36
                  œ?       - lexicographical permutation lookup   [1,2,3,4,5,6,12,11,10,9,8,7,13,14,15,16,17,18,24,23,22,21,20,19,25,26,27,28,29,30,36,35,34,33,32,31]
                       s⁸  - split into chunks of length n        [[1,2,3,4,5,6],[12,11,10,9,8,7],[13,14,15,16,17,18],[24,23,22,21,20,19],[25,26,27,28,29,30],[36,35,34,33,32,31]]
                         G - format as a grid

4

পিপ , রেজেক্স দৈর্ঘ্য 3 (নিরাপদ)

সমাধানটি একটি সম্পূর্ণ প্রোগ্রাম যা n কমান্ড-লাইন আর্গুমেন্ট হিসাবে গ্রহণ করে । এটি কোনও কমান্ড-লাইন পতাকা ব্যবহার করে না।

রেজেক্স (কোনও স্বাদ)

\w+

নমুনা আউটপুট

1 2 3 4 
8 7 6 5 
9 10 11 12 
16 15 14 13 

আমার সমাধান

YENsXaPBsPOyY_MUyFi_MUENsXaIiBA1PsPUPODQENsXiXaPBsX_PBsMRVyEI1PsPUPODQENsXiXaPBsX_PBsMy

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

কৌশল

এখানে কোড আমরা চাই পছন্দ লিখতে:

Y \,a
F i ,a
 I i%2
  P i*a+_.s M RVy
 E
  P i*a+_.s M y

এটাই:

  • aমধ্যে 1 নম্বর সংরক্ষণ করুনy
  • i0 এর মধ্য দিয়ে মানগুলি লুপ করুনa-1
  • যদি iবিজোড় হয় তবে বিপরীত y, i*aপ্রতিটি উপাদানকে যুক্ত করুন , প্রতিটি উপাদানকে একটি স্থান দিয়ে দিন এবং মুদ্রণ করুন
  • অন্যথায়, একই জিনিসটি করুন, তবে প্রথমে বিপরীত না করে

সমস্যাসমূহ

পাইপগুলিতে প্রচুর কমান্ড এবং ভেরিয়েবল অক্ষর ব্যবহার করে তবে কিছু গুরুত্বপূর্ণ এটি ব্যবহার করে না:

  • ব্যাপ্তি এবং অন্তর্ভুক্ত ব্যাপ্তি ( ,এবং \,)
  • সর্বাধিক গণিত কার্যকলাপ ( +, -, *, %, ++)
  • অ্যাসাইনমেন্ট ( :)
  • আমরা একাধিক স্টেটমেন্ট সহ একটি লুপ বা ফাংশন বডি রাখতে পারি না (তার প্রয়োজন হবে {})
  • অগ্রাধিকার প্রয়োগের জন্য আমরা প্রথম বন্ধনী ব্যবহার করতে পারি না

আমরা কীভাবে এই সীমাবদ্ধতাগুলি পেতে পারি:

  • ENumerate এর জায়গায় ব্যবহার করা যেতে পারে ,; আমাদের কেবলমাত্র সংখ্যার মতো অক্ষরগুলির একটি স্ট্রিং দরকার এবং আমাদের মতো প্রতিটি কাঠামোর মধ্যে সাব-লিস্টের প্রথম উপাদানটি বের করতে হবে [[0 "H"] [1 "i"]]
  • যদি আমরা সমস্যাগুলি Fবা লুপগুলি সমাধান করতে পারি তবে আমাদের কিছু বাড়ানোর দরকার নেই ।
  • আমরা অ্যাঙ্ক অপারেটরের yসাথে ভেরিয়েবলকে বরাদ্দ করতে পারি Y
  • আমরা স্ট্রিংগুলির সাহায্যে গণিত করতে পারি: Xএটি স্ট্রিং গুণ এবং PUশ (বা PB"পুশ-ব্যাক") একটি স্ট্রিংটিকে জায়গায় অন্য স্ট্রিংয়ের সাথে সংযুক্ত করবে। স্ট্রিংয়ের দৈর্ঘ্য নিতে, আমরা ENএটিটি ছড়িয়ে দিতে পারি এবং ফলাফলের তালিকা থেকে সঠিক সংখ্যাটি বের করতে পারি।
  • আমরা ততক্ষণ ফাংশনগুলি ব্যবহার করতে পারি যতক্ষণ না সেগুলি ব্যবহার করে একক-অভিব্যক্তি ল্যাম্বদা ফাংশন হিসাবে লেখা যায় _

সুনির্দিষ্ট

আমাদের প্রোগ্রামের বিল্ডিং ব্লক:

পরিসর

_MUENsXa

এটি map-unpack(_, enumerate(repeat(space, a)))সিউডোকোডে। ম্যাপ-আনপ্যাকটি পাইথনের মতো itertools.starmap: তালিকাগুলির একটি তালিকা দেওয়া থাকলে এটি প্রতিটি সাবলিস্টের আইটেমগুলিতে একটি ফাংশন কল করে। _এটির প্রথম যুক্তিটি ফিরিয়ে দেয়, সুতরাং _MUপ্রতিটি উপ-তালিকার প্রথম আইটেমটি পায়। উদাহরণস্বরূপ, যদি a = 3:

     sXa  "   "
   EN     [[0 " "] [1 " "] [2 " "]]
_MU       [0 1 2]

... যা একই ,a

অন্তর্ভুক্ত ব্যাপ্তি

আমি নিশ্চিত নই যে inclusive-range(1, a)একটি একক অভিব্যক্তি করার উপায় আছে , তবে ভাগ্যক্রমে আমাদের কেবল এটি একবার প্রয়োজন, তাই আমরা এটিকে yতিনটি ধাপে চলকটিতে তৈরি করতে পারি।

YENsXaPBs

সিউডোকোডে yank(enumerate(repeat(space, a).push-back(space))):

   sXa     "   "
      PBs  "    "
 EN        [[0 " "] [1 " "] [2 " "] [3 " "]]
Y          Store that in y

পরবর্তী POyথেকে প্রথম আইটেম পপ yএবং এটি পরিত্যাগ চলেই [[1 " "] [2 " "] [3 " "]]

অবশেষে,

Y_MUy

এটি হ'ল yank(map-unpack(_, y)): প্রতিটি সাবলিস্টের প্রথম উপাদানটি বের করুন এবং ফলাফলের তালিকাটি আবার ইঙ্ক করে yyএখন [1 2 3]

লম্বা

PODQENaPBs

সিউডোকোডে pop(dequeue(enumerate(a.push-back(space)))),। এখানে অসুবিধাটি হ'ল গণনাটি কেবলমাত্র আমাদের সংখ্যা দেয় len(a)-1তবে আমরা চাই len(a)। সুতরাং আমরা প্রথমে একটি স্থানটিকে aএকটি অক্ষর দ্বারা দৈর্ঘ্য করে, এবং তারপরে len-1নতুন স্ট্রিংয়ের দিকে নিয়ে যাই ।

      a     "xyz"
       PBs  "xyz "
    EN      [[0 "x"] [1 "y"] [2 "z"] [3 " "]]
  DQ        [3 " "]
PO          3

ম্যাথ

এখন আমাদের কাছে স্ট্রিংয়ের দৈর্ঘ্য নেওয়ার একটি উপায় রয়েছে, আমরা গুণগুলি এবং সংখ্যার যোগ করতে স্ট্রিংগুলি ব্যবহার করতে পারি:

PODQENsXaXbPBs
PODQENsXaPBsXbPBs

প্রথম স্থানগুলির sXaXbএকটি স্ট্রিং তৈরি করতে a*bএবং তার দৈর্ঘ্য গ্রহণ করে; দ্বিতীয় করে sXaPBsXbএকটি স্ট্রিং ধাক্কা bএকটি স্ট্রিং করতে স্থানগুলি aস্পেস এবং তারপর এটি দৈর্ঘ্য লাগে।

চমৎকার অংশ যে সব অপারেটরদের আমরা এখানে ব্যবহার করছেন (হয় PU, PO, PB, DQ, EN, X) এর সাথে ব্যবহার করা যেতে পারে _ফর্ম ল্যামডা এক্সপ্রেশন করতে। সুতরাং আমরা গণিতের রূপান্তরগুলি ম্যাপ করতে পারি আমরা পূর্বে নির্মিত অন্তর্ভুক্ত পরিসীমাতে।

আমাদের i%2লুপের ভিতরেও পরীক্ষা করা দরকার , তবে এটি বিটওয়াইস এবং: দ্বারা সহজেই সম্পন্ন হয় iBA1

তাদের একসাথে রাখ

কিছু যুক্ত শ্বেত স্পেস সহ পুরো কোড:

YENsXaPBs POy Y_MUy              Get \,a into y
F i _MUENsXa                     For i in ,a
 I iBA1                           If i%2=1
  P sPUPODQENsXiXaPBsX_PBs M RVy   Print sPUi*a+_ M RVy
 EI1                              Elseif 1 (using E would cause a parsing problem)
  P sPUPODQENsXiXaPBsX_PBs M y     Print sPUi*a+_ M y

আমাদের মতো পতাকা ব্যবহারের অনুমতি রয়েছে -S?
ব্রায়ান ম্যাকচ্যাচন

@ ব্রায়ানএমসিচাটন ভাল প্রশ্ন: উত্তরটি হ'ল না । (যেহেতু তারা কোডটি রাজেগের সাপেক্ষে নয়, তাই এগুলি ব্যবহার করা খুব লফোল-ইশ বলে মনে হয়েছিল)) স্পষ্ট করার জন্য সম্পাদিত।
DLosc

এ পর্যন্ত আমি যে আছে a*bহয় _V_VRVENCGaRLbPU1, ,aহয় _MUENZGa, aJ" "হয় aJ_VRVk, এবং a@iভালো কিছু হয় _V_VRVaZCGi, যদিও আমি বেশ এখনো প্রথম বন্ধনী ছাড়া প্রাধান্য কাজ করতে পারবে না। এছাড়াও, একটি অস্পষ্ট ধারণা যা আমি একটি পরিসরের ক্রমগুলি পেতে পারি (উপরে হিসাবে সমতুল্য ব্যবহার করে তৈরি করা ,(a*a)) এবং এটি প্রতিটি সারির জন্য সঠিক ক্রমান্বয়ে নির্বাচন করতে ব্যবহার করতে পারি।
ব্রায়ান ম্যাকচ্যাচন

@ ব্রায়ানএমসিচাটন অবশ্যই আমি কোনও নির্দিষ্ট বিষয়ে মন্তব্য করতে পারি না, তবে আমি সত্যিই অগ্রগতি আপডেটটি উপভোগ করছি। ^ _ ^
ডিএলসাস

আমি মনে করি এটি এখন নিরাপদ। আপনি এটা কিভাবে করবেন?
ব্রায়ান ম্যাকচ্যাটন

3

সিজেএম, পিসিআরই, দৈর্ঘ্য 8, ফাটল

^[a-~]*$

4 এর জন্য আউটপুট উদাহরণ:

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

কর্কশ। ভাল যুক্তি. :) বেশিরভাগ পন্থা কাজ করে বলে মনে হচ্ছে আপনার মনে কী ছিল তা অবাক করি।
মার্টিন ইন্ডার

আমার উত্তরটি প্রকৃতপক্ষে একটি শক্ত রেজেক্সকে সন্তুষ্ট করে - যখন এটির ক্র্যাক হয়ে যায় তখন আমি তা প্রদর্শন করব!
লিন

3

সিজেএম, পিসিআরই, দৈর্ঘ্য 9, ক্র্যাক

^[a-z~]*$

4 এর জন্য আউটপুট উদাহরণ:

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

এখন {|}নিষিদ্ধও হয়।



সাবাশ! আমার উত্তরটি মূলত একই ছিল, এটি কেবলমাত্র একগুচ্ছ meএবং mqসংখ্যাটি আনুমানিক হিসাবে ব্যবহার করেছিল, সুতরাং এটি ছিল অত্যন্ত (~ 20k বাইট) দীর্ঘ।
লিন

3

ম্যাথমেটিকা, রেজেক্স দৈর্ঘ্য 11, অ-প্রতিযোগী , ক্র্যাক ed

পিসিআরই গন্ধ:

^[^]@]{49}$

সঠিক সমাধানটি এমন একটি ফাংশন হবে যা একটি পূর্ণসংখ্যা নেয় এবং আউটপুটটিকে নেস্টেড তালিকার মতো ফিরিয়ে দেয়:

{{1, 2, 3, 4}, {8, 7, 6, 5}, {9, 10, 11, 12}, {16, 15, 14, 13}}


ওকেন, এটি একটি ঝরঝরে সমাধান। আমার যা ছিল তা থেকে বেশ আলাদা। আমি পরে পোস্ট করব কিনা বা আমি আরও বিধিনিষেধযুক্ত রেগেক্স যুক্ত করব কিনা তা আমি দেখতে পাব।
মার্টিন ইন্ডার

3

tinylisp , রেজেক্স দৈর্ঘ্য 3 ( ফাটল )

আপনি এখানে tinylisp কোড পরীক্ষা করতে পারেন অনলাইনে চেষ্টা করে !

রেজেক্স (কোনও স্বাদ)

\S+

হার্ড যাওয়ার সময়।

আউটপুট

সমাধানটি এমন একটি ফাংশন সংজ্ঞায়িত করে যা একটি একক পূর্ণসংখ্যার আর্গুমেন্ট নেয় এবং এই জাতীয় তালিকা ফেরত দেয় (এন = 4 এর জন্য):

((1 2 3 4) (8 7 6 5) (9 10 11 12) (16 15 14 13))

আমার আসল কোডটি একই বুনিয়াদী ধারণাটি ব্যবহার করে ব্রায়ান ম্যাকচ্যাটন নিয়ে এসেছিল তালিকা তৈরি করা এবং সেগুলি খোলাসা করা। এখানে এটি এক লাইনে রয়েছে:

(v(c(h(q(d)))(c(h(q(d')))(c(c(h(q(q)))(c(c()(c(q(arglist))(c(c(h(q(v)))(c(c(h(q(c)))(c(c(h(q(q)))(q(d)))(q(arglist))))()))())))()))()))))(d'(seq-args(c(h(q(start)))(c(h(q(stop)))(c(h(q(step)))())))))(d'(seq(c(c(h(q(accum)))seq-args)(q((i(e(v(h(q(start))))stop)(c(v(h(q(start))))accum)(seq(c(v(h(q(stop))))accum)start(s(v(h(q(stop))))step)step)))))))(d'(f'(c(c(h(q(index)))(c(h(q(size)))seq-args))(q((i(e(v(h(q(index))))size)()(c(seq()start(v(h(q(stop))))step)(f'(a(h(q(1)))index)size(a(v(h(q(stop))))size)(a(v(h(q(start))))size)(s(h(q(0)))step)))))))))(d'(f(q((size)(f'(h(q(0)))size(h(q(1)))size(h(q(1))))))))

আমি কোনও ম্যাক্রো সংজ্ঞায়িত করার জন্য একবার সম্পূর্ণ কন্সট্রাক্ট এবং এভাল পদ্ধতিটি ব্যবহার করেছি যা d'সংজ্ঞা তৈরি করে d, তবে এর যুক্তিগুলিকে একটি তালিকাতে আবৃত করে: তাই পরিবর্তে (d x 42), আপনি এটি করতে পারেন (d'(x 42))। তারপরে এটি কেবল সংজ্ঞা অনুসারে যে কোনও তালিকাতে হোয়াইটস্পেসের প্রয়োজন হতে পারে সেগুলি পুনরায় লেখার বিষয় ছিল: (q(a b))-> (c a(q(b)))-> (c(h(q(a)))(q(b)))



2

পাইথন 3, দৈর্ঘ্য 162 (ক্র্যাকড!)

Regex: ^([^"' #]){24}"(?1){11}i%n(?1){4}2\*n-(?1){4}i%n(?1){10}i\/n(\)\/\/1)(?1){5}(?2)(?1){3}2\*\(i%n\)(?1){4}[int()2\/]{16}for i in range\(j,(?1){4}\]\)(?1){6}\"\*n\)$

ঠিক আছে, আমি জানি, এটি বেশ দীর্ঘ। ভাগ্যক্রমে, এটি এক সপ্তাহের মধ্যে ফাটানো হবে না ...: 'ডি।

আমি মনে করি যে আমি কোথাও কোনও ভুল করি নি, এটি লুফোল-ওয়াইয়ের উত্তরগুলির অনুমতি দেয়।

আউটপুট ফরমেট

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

আসল কোড:n=int(input());j=0;exec("print([int(i%n+1+(2*n-(2*(i%n)+1))*((((i/n)//1+1)/2)//1)+(2*(i%n)+1)*int(int(i/n)/2))for i in range(j,j+n)]);j+=n;"*n)


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