এই প্রতিযোগিতা শেষ।
পুলিশ-ডাকাতদের চ্যালেঞ্জগুলির প্রকৃতির কারণে , যখন সংশ্লিষ্ট ডাকাতদের চ্যালেঞ্জের প্রতি আগ্রহ হ্রাস পেয়েছে তখন পুলিশ চ্যালেঞ্জ অনেক সহজ হয়ে যায়। সুতরাং, আপনি যখন এখনও হ্যাশ ফাংশন পোস্ট করতে পারেন, আপনার উত্তর গৃহীত হবে না বা লিডারবোর্ডের অংশ তৈরি করবে না।
এই চ্যালেঞ্জটি হ্যাশ ফাংশনটির সংক্ষিপ্ততম প্রয়োগের সন্ধান যা সংঘর্ষ প্রতিরোধী , অর্থাত্ একই হ্যাশ সহ দুটি পৃথক বার্তা খুঁজে পাওয়া অসম্ভব।
একজন পুলিশ হিসাবে, আপনি কোডের আকার এবং সংঘর্ষ প্রতিরোধের মধ্যে সেরা সমঝোতার সন্ধান করতে একটি হ্যাশ ফাংশন আবিষ্কার ও প্রয়োগ করার চেষ্টা করছেন। অনেকগুলি বাইট ব্যবহার করুন এবং অন্য পুলিশ আপনাকে ছাড়িয়ে যাবে!
ডাকাত হিসাবে, আপনি পুলিশদের কাজগুলি ক্র্যাক করে তাদের প্রচেষ্টা ব্যর্থ করার চেষ্টা করেছেন, প্রমাণ করে যে তারা অনুপযুক্ত। এটি তাদের অ্যালগোরিদমগুলিকে শক্তিশালী করতে আরও বাইট ব্যবহার করতে বাধ্য করবে!
পুলিশ চ্যালেঞ্জ
কার্য
একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন প্রয়োগ করুন এইচ: আমি -> আপনার পছন্দের হে , যেখানে আমি 2 2 30 এর নীচে সমস্ত অ-নেতিবাচক পূর্ণ সংখ্যার সেট এবং ও 128 এর নীচে সমস্ত অ-নেতিবাচক পূর্ণসংখ্যার সেট ।
হয় আপনি বাস্তবায়ন করতে পারেন এইচ প্রকৃত ফাংশন যা গ্রহণ করে এবং একটি একক পূর্ণসংখ্যা, একটি পূর্ণসংখ্যা একটি স্ট্রিং উপস্থাপনা বা পূর্ণসংখ্যার একটি অ্যারের বা পূর্ণ প্রোগ্রাম যা বেস 10 বা 16 stdin এবং stdout- এ কপি করে প্রিন্ট থেকে সার্চ ফেরৎ হিসাবে।
স্কোরিং
এইচ যে এটি নীচে সংজ্ঞায়িত ডাকাতদের চ্যালেঞ্জকে প্রতিহত করতে হবে ।
ডাকাত যদি পোস্ট দেওয়ার পরে প্রথম 168 ঘন্টার মধ্যে আপনার জমাটি হারায় তবে এটি ক্র্যাকড বলে বিবেচিত হবে ।
এইচ এর বাস্তবায়ন যতটা সম্ভব সংক্ষিপ্ত হওয়া উচিত। সংক্ষিপ্ততম আবদ্ধ না হওয়া জমা দেওয়া হবে পুলিশ চ্যালেঞ্জের বিজয়ী।
অতিরিক্ত বিধি
আপনি বাস্তবায়ন তাহলে এইচ একটি ফাংশন হিসাবে, একটি প্রোগ্রাম যা উপরে বর্ণিত রূপে আচরণ করবে মধ্যে থেকে ক্রিয়াকলাপ নির্বাহ করা একটি লেফাফা প্রদান করুন।
আপনার প্রোগ্রাম বা মোড়কের জন্য দয়া করে কমপক্ষে তিনটি পরীক্ষামূলক ভেক্টর সরবরাহ করুন (উদাহরণস্বরূপ ইনপুট এবং তাদের সম্পর্কিত আউটপুট)।
এইচ আপনার উপন্যাসের নকশা (পছন্দসই) বা একটি সুপরিচিত অ্যালগরিদম হতে পারে, আপনি যতক্ষণ না এটি নিজে প্রয়োগ করেন। এটি কোনও ধরণের অন্তর্নির্মিত হ্যাশ ফাংশন, সংক্ষেপণ ফাংশন, সিফার, পিআরএনজি ইত্যাদি ব্যবহার নিষিদ্ধ
হ্যাশিং ফাংশনগুলি (যেমন, বেস রূপান্তর) বাস্তবায়নের জন্য অন্তর্নির্মিত যে কোনও বিল্ট-ইন ব্যবহার করা হয় তা ন্যায্য খেলা।
আপনার প্রোগ্রাম বা ফাংশনের আউটপুট অবশ্যই নির্দোষ হতে হবে।
একটি বিনামূল্যে (বিয়ারের মতো) সংকলক / দোভাষা থাকা উচিত যা একটি x86 বা x64 প্ল্যাটফর্মে বা ওয়েব ব্রাউজারের মধ্যে থেকে চালানো যেতে পারে।
তোমার প্রোগ্রাম বা ফাংশন যুক্তিসঙ্গতভাবে দক্ষ হতে হবে এবং যে কোন বার্তা হ্যাশ হয়েছে উচিত আমি নিচে 2 2 19 একটি দ্বিতীয় কম সময়ে।
প্রান্তের ক্ষেত্রে, আমার মেশিনে নেওয়া (প্রাচীর) সময়টি (ইন্টেল কোর আই -3-707 RAM০, র্যামের ১B জিআইবি) সিদ্ধান্ত নেবে।
এই চ্যালেঞ্জের প্রকৃতি প্রদত্ত, আপনার উত্তরের কোডটি কোনওভাবেই পরিবর্তন করা নিষিদ্ধ, এটি আউটপুট পরিবর্তন করে কিনা।
যদি আপনার জমাটি ক্র্যাক হয়ে গেছে (বা তা না থাকলেও), আপনি একটি অতিরিক্ত উত্তর পোস্ট করতে পারেন।
যদি আপনার উত্তরটি অবৈধ হয় (যেমন, এটি I / O নির্দিষ্টকরণের সাথে সম্মতি দেয় না), দয়া করে এটি মুছুন।
উদাহরণ
পাইথন 2.7, 22 বাইট
def H(M): return M%17
লেফাফা
print H(int(input()))
ডাকাতরা চ্যালেঞ্জ জানায়
কার্য
'থেকে নিম্নলিখিত পোস্ট করে জমা পুলিশ কোন ফাটল থ্রেড ডাকাত' দুই বার্তা: এম এবং এন মধ্যে আমি যেমন যে এইচ (এম) = এইচ (এন) এবং এম ≠ এন ।
স্কোরিং
প্রতিটি কপ সাবমিশন ক্র্যাক করা আপনার এক পয়েন্ট লাভ করে। সবচেয়ে পয়েন্ট সহ ডাকাত জিতেছে।
টাইয়ের ক্ষেত্রে, বাঁধা ডাকাত যা দীর্ঘতম জমা দেওয়ার পক্ষে জয়লাভ করে।
অতিরিক্ত বিধি
প্রতিটি পুলিশ জমা দেওয়ার সময় কেবল একবার ফাটানো যায়।
যদি কোনও পুলিশ জমা দেওয়ার বাস্তবায়ন-সংজ্ঞায়িত বা অপরিজ্ঞাত আচরণের উপর নির্ভর করে তবে আপনাকে কেবল আপনার মেশিনে (যাচাই করে) কাজ করতে পারে এমন একটি ক্র্যাক খুঁজে পেতে হবে।
প্রতিটি ক্র্যাক ডাকাতদের থ্রেডে পৃথক উত্তরের অন্তর্ভুক্ত।
একটি অবৈধ ক্র্যাকিংয়ের প্রচেষ্টা পোস্ট করা আপনাকে 30 মিনিটের জন্য নির্দিষ্ট জমাটি ক্র্যাক করা থেকে নিষিদ্ধ করে।
আপনি নিজের জমা জমা দিতে পারেন না।
উদাহরণ
পাইথন 2.7, 22 বাইট দ্বারা ব্যবহারকারী 8675309
1
এবং
18
লিডারবোর্ড
নিরাপদ জমা দিন
আনক্র্যাকড জমাগুলি
আপনি এখনও ক্র্যাক না হওয়া উত্তরগুলির একটি তালিকা পেতে এই স্ট্যাক স্নিপেট ব্যবহার করতে পারেন।
function g(p){$.getJSON('//api.stackexchange.com/2.2/questions/51068/answers?page='+p+'&pagesize=100&order=desc&sort=creation&site=codegolf&filter=!.Fjs-H6J36w0DtV5A_ZMzR7bRqt1e',function(s){s.items.map(function(a){var h=$('<div/>').html(a.body).children().first().text();if(!/cracked/i.test(h)&&(typeof a.comments=='undefined'||a.comments.filter(function(b){var c=$('<div/>').html(b.body);return /^cracked/i.test(c.text())||c.find('a').filter(function(){return /cracked/i.test($(this).text())}).length>0}).length==0)){var m=/^\s*((?:[^,(\s]|\s+[^-,(\s])+)\s*(?:[,(]|\s-).*?([0-9]+)/.exec(h);$('<tr/>').append($('<td/>').append($('<a/>').text(m?m[1]:h).attr('href',a.link)),$('<td class="score"/>').text(m?m[2]:'?'),$('<td/>').append($('<a/>').text(a.owner.display_name).attr('href',a.owner.link))).appendTo('#listcontent');}});if(s.length==100)g(p+1);});}g(1);
table th, table td {padding: 5px} th {text-align: left} .score {text-align: right} table a {display:block}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><table><tr><th>Language</th><th class="score">Length</th><th>User</th></tr><tbody id="listcontent"></tbody></table>