প্রাইম নার্ড স্নিপিং প্যাটার্ন


16

বছরের দীর্ঘতম দিন - অতিরিক্ত সময় নষ্ট করার জন্য এখানে কিছু ...


সংক্ষিপ্ত বিবরণ

নোট করুন এটি কোনও জনপ্রিয়তার প্রতিযোগিতা নয় এবং গ্রাফিকাল আউটপুট চ্যালেঞ্জ নয় - আপনাকে কেবল 65,536 জিরো এবং একটি স্ট্রিং আউটপুট দিতে হবে। প্রশ্নের নীচে স্ট্যাক স্নিপেট এটি 256 বাই 256 কালো এবং সাদা চিত্র হিসাবে প্রদর্শিত হবে এবং আপনার অফিসিয়াল স্কোর গণনা করবে। তারপরে আপনি চিত্রটি সংরক্ষণ করতে পারেন এবং আপনার কোডের সাথে আপনার উত্তরে এটি আপলোড করতে পারেন (যেহেতু স্ট্রিং আউটপুট 30,000 অক্ষরের স্ট্যাক এক্সচেঞ্জ উত্তরের সাথে খাপ খায় না)।


স্কোরিং

একটি চিত্রের স্কোর হল এর পৃথক পিক্সেলের স্কোরগুলির যোগফল। একটি পৃথক পিক্সেলের স্কোর হ'ল পিক্সেলের বিপরীত রঙের অ অরথোগোনাল , প্রধান দূরত্বের পিক্সেলের প্রত্যেকটির জন্য সাবস্কোরগুলির যোগফল । এই জাতীয় প্রতিটি পিক্সেলের সাবস্কোর যেখানে প্রধান দূরত্ব।1/pp

এই প্রশ্নের প্রসঙ্গে, পদগুলির নিম্নলিখিত সংজ্ঞা রয়েছে:

  • অরথোগোনাল: একটি পিক্সেল একই সারিতে না থাকলে এবং একই কলামে না থাকলে পিক্সেলটি স্কোর করা অ অরথোগোনাল।

  • প্রধান দূরত্ব: পিক্সেল পিক্সেল থেকে অঙ্কের প্রথম দূরত্বে হয় যদি তারা ইউক্লিডিয়ান দূরত্ব দ্বারা পৃথক হয় যা হুবহু একটি মৌলিক সংখ্যা। বিশেষত, দূরত্বটি ন্যূনতম দূরত্বটি টরয়েডলি পরিমাপ করা হয় - উপরের বাম পিক্সেলটিsqrt(2)নীচের ডান পিক্সেলের (সমস্ত 4 টি প্রান্তের মোড়ক) থেকেদূরত্ব।

  • বিপরীতে রঙ: একটি পিক্সেল পিক্সেলের তুলনায় বিপরীত রঙের হয় যদি তাদের মানগুলি 1 হয় তবে এটি প্রথমটি 0 এবং দ্বিতীয়টি 1, বা প্রথমটি 1 এবং দ্বিতীয়টি 0 হয়।

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

কোডে যদি কিছু সঠিক না হয় তবে দয়া করে আমাকে মন্তব্য বা আড্ডায় জানান

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


কল্পনা

স্কোরিং পিক্সেল

স্কোরিং পিক্সেল বিতরণের জন্য স্বজ্ঞাত অনুভূতির জন্য, এখানে (বেগুনি রঙে) 256 বাই 256 চিত্রের পিক্সেলের (128, 128) অ অরথোগোনাল মূল দূরত্বের পিক্সেল রয়েছে:

অ অরথোগোনাল মূল দূরত্ব বিতরণের চিত্র


একটি এলোমেলো চিত্র

এটি পাইথন 3 উত্তর উদাহরণ থেকে এলোমেলোভাবে উত্পন্ন চিত্র। এটির স্কোর 138,267.64 আছে এবং আপনাকে মারতে কিছু দেয়।

এলোমেলোভাবে উত্পন্ন চিত্র


ইনপুট

কোডটির জন্য ইনপুট দরকার হয় না।

আউটপুট

কোডটি একটি কালো এবং সাদা 256 বাই 256 চিত্রের পিক্সেল উপস্থাপন করে 65,536 শূন্য এবং এর একটি স্ট্রিং আউটপুট করা উচিত। অঙ্কগুলি কোনও বিভাজক ছাড়া একটি অবিচ্ছিন্ন স্ট্রিং হওয়া উচিত। আপনি কোনও ফাইলের আউটপুট এলে অনুলিপি এবং আটকানো আরও সহজ দেখতে পেতে পারেন তবে এটি আপনার উপর নির্ভর করে।

আপনার কোডটি অন্যান্য দরকারী তথ্যগুলিও আউটপুট দিতে পারে যা আপনি দরকারী মনে করেন, স্ট্রিং স্নিপেটে স্ট্রিংটি অনুলিপি করে আটকানো যায়। উদাহরণস্বরূপ, আপনি কোনও ফাইলে সবচেয়ে ভাল স্ট্রিং আউটপুট এবং নিয়মিত বিরতিতে STDOUT এর সেরা এখনও পর্যন্ত স্কোর আউটপুট করতে চাইতে পারেন, যখন ব্যবহারকারী কখন অনুসন্ধানটি বন্ধ করবেন তা চয়ন করতে পারে।


স্নিপেট স্ট্যাক করুন

দ্বারা সরু আউট হিসাবে Sp3000 , স্নিপেট 10 মিনিট গ্রহণ ছিল একটি স্কোর, যা একটি সামান্য নিরূপণ করা খুবই এমনকি একটি ইচ্ছাকৃতভাবে অদক্ষ রেফারেন্স বাস্তবায়নের, ধীর। আমি Sp3000 এর স্কোরিংয়ের জন্য পিক্সেল অফসেটগুলি পূর্ববর্তীকরণের প্রস্তাবিত উন্নতিতে সম্পাদনা করেছি এবং এখন স্কোর গণনা করতে কয়েক সেকেন্ড সময় লাগে takes


আপনি যদি নিজের কোডের প্রারম্ভিক পয়েন্ট হিসাবে অন্য উত্তরটির আউটপুট বা কোড ব্যবহার করেন তবে অনুগ্রহ করে ক্রেডিট এবং সমর্থনকারী উত্তরের লিঙ্কটি দিন। এই প্রশ্নের উত্তরগুলিতে উদাহরণের উত্তর বা প্রশ্নের কোডটি ক্রেডিট করার দরকার নেই।

নের্ড স্নিপিং শব্দটির জন্য র‌্যান্ডাল মুনরোকে কৃতিত্ব

উত্তর:


36

সিজেম, স্কোর 276496.9062958626

2,128*_(]128*

এটি সর্বোত্তম হতে দেখা যাচ্ছে, কারণ: দূরত্বের সাথে কোনও অ-orthogonal জোড়া নেই 2 So যেমন পি 2 = এক্স 2 + ই 2 , x এবং y এর মধ্যে একটি (স্কোয়ার্ড বা না) অবশ্যই বিজোড় এবং অন্যটি অবশ্যই সমান হবে। এই পয়েন্টগুলি এই চিত্রটিতে সর্বদা বিপরীত রঙে থাকে।

এটি এবং এর নেতিবাচক এছাড়াও একমাত্র অনুকূল সমাধান। একটি অনুকূল সমাধানে, কোনও অ-orthogonal, প্রধান দূরত্বের পিক্সেলের একই রঙ হওয়া উচিত। (3,4) এবং (4,3) এর মতো ত্রিভুজ সংলগ্ন বিপরীত পিক্সেল রয়েছে। বিপরীত রঙ ইত্যাদির বিপরীতে পিক্সেল পূরণ করে আমরা একই বর্ণের সাথে একটি তির্যক পেতে পারি। তির্যকটির প্রতিটি পিক্সেল থেকে শুরু করে, আমরা সমস্ত অ্যান্টি-ডায়াগোন একইভাবে পূরণ করতে পারি। নোট করুন যে তারা চারপাশে মোড়ানো। যদিও তারা তা না করে তবে এটি সর্বোত্তম।


3
আমি আশা করছিলাম যে লোকেরা এটি লক্ষ্য করতে আরও বেশি সময়
নিবে

1
এই প্রশ্নটি লেখার সময় একটি সর্বোত্তম সমাধান ছিল তা কাজে লাগাতে আমার অনেক সময় লেগেছে, তাই আমি ভেবেছিলাম এটি চ্যালেঞ্জ হিসাবে পোস্ট করা উপযুক্ত। আপনি এত তাড়াতাড়ি কিভাবে দেখতে পেলেন? এটি কি কেবল সুস্পষ্ট ছিল বা আপনার একটি নির্দিষ্ট চিন্তার প্রক্রিয়া ছিল?
ট্রাইকোপলাক্স

4
PS আপনি কখন এই প্রশ্নটি দেখেছেন তা আমি জানি না তবে প্রশ্ন পোস্ট হওয়ার
after১

@ ট্রাইকোপলাক্স আপনার প্রথম চিত্র থেকে মনে হয়েছে একই তির্যকটিতে অনেকগুলি পয়েন্ট রয়েছে। আমি শুরুতে আরও বিস্তৃত স্ট্রাইপ ব্যবহার করার কথা ভাবছিলাম। এবং তারপরে আমি আমার ধারণাটি যাচাই করার জন্য গিম্প খুললাম। আমি অবাক করে দিয়েছি যে আমি যখন এই প্যাটার্নটি দিয়ে এটি পূর্ণ করি তখন আমি একটি সম্পূর্ণ কালো চিত্র পেয়ে যাই।
জিমি 23013

8
@ ট্রাইকোপলাক্স প্রদত্ত যে আপনি জানতেন যে এখানে একটি সর্বোত্তম সমাধান রয়েছে, আমি মনে করি আপনি এটিকে কম সমাধানযোগ্য করে তুলতে প্রশ্নটি সংশোধন করা ভাল। যদিও জিমি 23013 এটি দ্রুত খুঁজে পেয়েছে, কেউ এটি না পাওয়া পর্যন্ত এটি সর্বদা সময়ের বিষয় এবং তারপরে এটি শেষ হয়ে যায়।
xnor

1

পাইথন 3, স্কোর 138267.64

এটি যা প্রয়োজন তার উদাহরণ হিসাবে এবং একটি মারাত্মক কিছু হিসাবে এটি একটি সর্বনিম্ন উত্তর ...

এটা অন্তর্ভুক্ত

  • ভাষার নাম।
  • প্রশ্নে স্ট্যাক স্নিপেট থেকে স্কোর।
  • স্ট্যাক স্নিপেট থেকে ছবিটি সংরক্ষণ করা হয়েছে।
  • কোডটি 65,536 শূন্য এবং এর স্ট্রিং উত্পাদন করতে ব্যবহৃত হয়েছিল।

আউটপুট

এলোমেলোভাবে উত্পন্ন চিত্র

কোড

from random import random

output_string = ''
filename = '65536digits.txt'

for t in range(65536):
    digit = int(random() * 2)
    output_string += str(digit)

with open(filename, 'w') as output_file:
    output_file.write(output_string)

এইটা শুধুমাত্র একটা উদাহরণ. এই বিশেষ চ্যালেঞ্জের প্রতিযোগিতামূলক উত্তরের জন্য পাইথন অগত্যা সর্বোত্তম ভাষা হতে পারে না।

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