কুরিয়ার কেপশন


13

কুরিয়ার কেপশন

প্রোগ্রামটি অবশ্যই কোনও স্ট্রিং ইনপুট হিসাবে গ্রহণ করতে পারে এবং একটি পিক্সেল চিত্র আউটপুট দেয় যা কুরিয়ারে ইনপুট স্ট্রিংটি দেখায়। abdegopqABDPQRকালো পিক্সেল দ্বারা পরিবেষ্টিত একটি 'ছিদ্র' ( ইত্যাদির মতো ) সম্বলিত সমস্ত অক্ষরও অবশ্যই কালো পূর্ণ করতে হবে।

ইনপুট

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

আউটপুট

আউটপুটটি অবশ্যই একটি কালো এবং সাদা (ধূসর নয়) পিক্সেল গ্রাফিকের হতে হবে যা কুরিয়ারে লেখা রয়েছে (কালো রঙের, পটভূমিতে সাদা), নির্দিষ্ট 'ছিদ্র' ভরাট দিয়ে। পুরো স্ট্রিংয়ের ফন্টসাইজ অবশ্যই ধ্রুবক হতে হবে (এর অর্থ প্রতিটি ভিন্ন বর্ণের জন্য আলাদা আলাদা স্কেলিং নয়) যাতে পূর্ণ আকারের অক্ষরগুলি (যেমন ABCDEFGHIJKLMNOPRSTUVWXYZতবে জে এবং কিউ বড়) অবশ্যই কমপক্ষে 10px দৈর্ঘ্যের হতে হবে। (আপনাকে এটি কোনও ফাইলে লিখতে হবে না, যে কোনও ধরণের ডিসপ্লে ঠিক আছে যতক্ষণ না এটি পিক্সেলগ্রাফিক হিসাবে উত্পন্ন হয়, যেমন জাভাস্ক্রিপ্টে যেমন ক্যানভাস।) আপনার উত্তর সহ এই গ্রাফিকটি পোস্ট করুন।

কুরিয়ার.টিএফ / ফন্ট লাইব্রেরিতে অ্যাক্সেস অনুমোদিত

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

স্কোর

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


আউটপুট বি / ডাব্লু হিসাবে নির্দিষ্ট করা হয়েছে, তাই কোনও ধূসর পিক্সেল অনুমোদিত নয়। এবং এনকোডিং সম্পর্কে জিজ্ঞাসা করার জন্য আপনাকে ধন্যবাদ, এটি ফন্টের কারণে ASCII এর মধ্যে সীমাবদ্ধ থাকবে।
flawr

1
কমপক্ষে দুটি গুরুতর সমস্যা রয়েছে যার স্পষ্টকরণ দরকার। প্রথমত, এটি স্পষ্ট নয় যে প্রোগ্রামটি কোনও কুরিয়ার.টিটিএফ এবং ফন্টের লাইব্রেরিগুলিতে যা এটি ব্যবহার করতে পারে তা অ্যাক্সেসের অনুমতি পাচ্ছে কিনা। দ্বিতীয়ত, আপনি কি এমন প্রোগ্রামগুলিকে নিষিদ্ধ করার গুরুত্ব সহকারে লক্ষ্য রেখেছেন যাতে অ-এসসিআইআই অক্ষর নেই?
পিটার টেলর

হ্যাঁ, কুরিয়ার.টিটিএফ এবং ফন্টের লাইব্রেরিগুলিতে অ্যাক্সেস অনুমোদিত - এটি অন্যথায় কোনও অর্থ দেবে না, আপনাকে ধন্যবাদ। আমি এমন কোনও বড় ভাষা নিয়ে আসতে সক্ষম হয়েছি যা অ-এসসিআইআই অক্ষরগুলির উপর নির্ভর করে - আপনি কি এমন কোন ভাষা জানেন যা অ-এসসিআইআই অক্ষরগুলির প্রয়োজন?
flawr

1
@ ফ্লোয়ার এপিএল এবং ম্যাথামেটিকায় আপনি ইউনিকোড অক্ষর ব্যবহার করে কয়েকটি জিনিস সংক্ষিপ্ত করতে পারেন।
মার্টিন ইন্ডার

উত্তর:


12

গণিত, 4864 পিক্সেল

l = ImageData[Binarize[Rasterize[Style[j, FontSize -> 15]], .71]]
i = {{1, 1}}
While[Length[i] > 1 - 1,
 {r, c} = j = i[[1]]; l[[r, c]] = 2; i = i[[2 ;; -1]];
 If[FreeQ[i, {r, c} = J = j + #] && l[[r, c]] == 1, 
    i = i~Join~{J}] & /@
  {{1, 1 - 1}, {1 - 1, 1}, {-1, 1 - 1}, {1 - 1, -1}}
 ]
Image[l = l /. 1 -> 1 - 1 /. 2 -> 1]
Count[l, 1 - 1, {2}]

ছবিটি এখানে:

এখানে চিত্র বর্ণনা লিখুন

ম্যাথামেটিকায় আপনি যখন "প্রোগ্রাম" লিখেন আপনি কেবল একটি স্নিপেট লিখবেন। সুতরাং এটি সঞ্চিত ইনপুটটি প্রত্যাশা করে jএবং শেষটি ফিরে আসে তা চিত্র এবং গণনা। এটি ত্রুটিগুলির একটি গুচ্ছকেও ছুঁড়ে ফেলে, কারণ আমি চেকিংয়ের সীমাবদ্ধতা করি না l, তবে এটি পছন্দসই ফলাফলটি যেভাবেই উত্পন্ন করে।

যেখানে %শেষ আউটপুটকে বোঝায়।

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

নোট করুন যে FreeQপ্রোগ্রামটি সঠিকভাবে কাজ করার জন্য চেকটি আসলেই প্রয়োজনীয় নয়, তবে এটি একটি যুক্তিসঙ্গত সময়ে শেষ করতে হয়। যদি আমি এটি ছেড়ে চলে যাই তবে আমি আসলে প্রায় 300 পিক্সেল কম স্কোর করব।


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

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