রেটিনা নাকি ট্র্যাশ?


47

আমরা প্রযুক্তির এক দুর্দান্ত যুগে বেঁচে থাকি যেখানে আমরা আমাদের টিভিগুলিতে সুন্দর করে 8K স্ক্রিন রাখতে পারি, এমনকি আমাদের মোবাইল ব্রাউজিং আনন্দের জন্য আমাদের ফোনে 2K প্রদর্শনও করতে পারি। স্ক্রিন প্রযুক্তির ক্ষেত্রে আমরা সাম্প্রতিক বছরগুলিতে অনেক দূর এগিয়ে এসেছি।

এর অন্যতম পণ্য একটি শব্দ যা অ্যাপল, রেটিনা জনপ্রিয় করে তুলেছিল । এটি প্রশ্নে ডিসপ্লেটির পিক্সেল ঘনত্বকে উল্লেখ করছে যে 10-10 ইঞ্চি দূরে দেখার দূরত্বে স্বতন্ত্র পিক্সেলগুলি সহজেই বাছাই করা যায় না।

স্টিভ জবস বলেছেন যে পিক্সেল ঘনত্ব যেখানে এটি ঘটে ঠিক তার প্রতি ইঞ্চি প্রায় 300 পিক্সেল এবং বিজ্ঞাপনের জন্য ব্যবহৃত রেটিনা বাজওয়ার্ড দিয়ে তারা তাদের ডিভাইসে এই পিক্সেল ঘনত্বগুলি নিয়োগ করতে শুরু করে ।

পিক্সেল ঘনত্ব নিম্নলিখিত সূত্র দ্বারা গণনা করা যেতে পারে:

ডি = বর্গমূল (W ^ 2 + H ^ 2) / ঘ

dইঞ্চি স্ক্রিনের তির্যকটি কোথায় , wঅনুভূমিক অক্ষে hপিক্সেলের সংখ্যা এবং উল্লম্ব অক্ষের পিক্সেলের সংখ্যা।

তোমার কাজ

এই কাজের জন্য, আপনি কোন পণ্য কেনার উপযুক্ত তা নির্ধারণের জন্য আপনি রেটিনা স্ট্যান্ডার্ডটি ব্যবহার করবেন । আপনি যে আধুনিক ভোক্তা হচ্ছেন, আপনি যখন ডিভাইসগুলির জন্য কেনাকাটা করেন তখন আপনি নিশ্চিত করতে চান যে আপনি 90 এর দশকের কোনও ডিভাইস নয়, একটি ভাল পণ্য পাচ্ছেন! যেমন, আপনি যদি একটি নির্মাণ করতে চান প্রোগ্রাম বা ফাংশন স্ক্রীনে প্রস্থ, উচ্চতা এবং যেমন তির্যক দৈর্ঘ্য লাগে ইনপুট অথবা ফাংশন পরামিতি , এবং (কিনা অক্ষিপট পর্দা যেমন বিশেষ পর্দা যোগ্যতা আপনি বলে D > 300) দ্বারা পর্দায় মুদ্রণ বা ফিরে

রেটিনাবিহীন ডিভাইসগুলির জন্য আপনার অবজ্ঞার কারণে, যখন ডিভাইসটি যোগ্যতা অর্জন করে এবং কখন তা না করে তখন আপনার প্রোগ্রাম বা ফাংশনটি আউটপুট আসবে ।Retina!Trash!

আপনি ধরে নিতে পারেন যে সমস্ত সংখ্যার ০ থেকে বড় হবে প্রস্থ এবং উচ্চতার জন্য পিক্সেল মান সর্বদা পুরো সংখ্যা হবে be যতক্ষণ না এটি দশমিক সমর্থন করে স্ক্রিনের আকার কোনওভাবেই ব্যাখ্যা করা যেতে পারে। ইনপুটটি আপনার চয়ন করা কোনও ক্রম হতে পারে এবং 3 টি পৃথক লাইনেও থাকতে পারে।

উদাহরণ I / O

1920 1080 4.95   -> Retina!
2560 1440 5.96   -> Retina!
1920 1080 10.5   -> Trash!
10 10 0.04       -> Retina!
4096 2160 19(.0) -> Trash!
8192 4320 100.00 -> Trash!
3000 1500 11.18  -> Retina!
180 240 1(.0)    -> Trash!

এটি , তাই বাইটের সংখ্যা সবচেয়ে কম।


এখানে একটি স্টাক সমাধান, একটি স্ট্যাক ভিত্তিক প্রোগ্রামিং ভাষা তৈরি করছি:

r;`;/300>"Retina!""Trash!"?

34
কেউ, দয়া করে, একটি রেটিনা উত্তর করুন
ডিজিটাল ট্রমা

2
পুনঃটুইট
Sp3000

7
@ এসপি 3000 পিএফটি, অজুহাত! রেটিনাতে আপনার নিজের ফ্লোট পার্সিং রেজেেক্স তৈরি করুন!
অপ্টিমাইজার

46
@ এসপি 3000 ঠিক আছে, বাজি বাড়াতে দাও। আমি এখানে প্রতিশ্রুতি দিয়েছি যে একটি সংক্ষিপ্ততম আইনি (সম্প্রদায় sensকমত্য) -এর প্রশ্নের উত্তরের রেটিনা উত্তরের উপর একটি বৃহত সরস 500 পিটি অনুগ্রহকে থাপ্পড় দেবেন এই মন্তব্য পোস্ট করার টাইমস্ট্যাম্প থেকে week
ডিজিটাল ট্রমা

2
হুম, নির্বাচিত প্রান্তটি অ্যাপলের বিপণনের সাথে পুরোপুরি মেলে না, যেমন রেটিনা আইম্যাকের জন্য: 5120 2880 27
এড অ্যাভিস

উত্তর:


5

পাইথ - 27 বাইট

টেরিনারি অপারেটর ব্যবহার করে এবং absপাইথাগোরিয়ান গণনা করতে।

?>c.avzQ300"Retina!""Trash!

প্রথম লাইনে width, height, দ্বিতীয় লাইনে দুটি লাইনে ইনপুট নেয় diag

নিয়মগুলি শিথিল করা হয়েছিল তাই ঘুরে ফিরে।

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


115

রেটিনা , 530 220 210 202 201 193 191 187 185 (184) বাইট

3 বাইট সংরক্ষণের জন্য র্যান্ডম্রা ক্রেডিট! (এবং আরও কয়েকজনের পথ প্রশস্ত করা)

+`\.(\d)(.+)( .+)
$1.$2_$3_
\b
#
+`(\d*)#((((((((((9)|8)|7)|6)|5)|4)|3)|2)|1)|\w)
$1$1$1$1$1$1$1$1$1$1$3$4$5$6$7$8$9$10$11#
\d
11
(?=(1*)\1)[^.]
$1
^(1+)\.\1{90000}1+
Retina!
1.+
Trash!

বাইট গণনা উদ্দেশ্যে, প্রতিটি লাইন একটি পৃথক ফাইলে যায় তবে -sপতাকাটির সাহায্যে রেটিনাকে অনুরোধ করে আপনি একক ফাইল থেকে উপরের কোডটি চালাতে পারেন ।

এটি প্রথমে ঘনত্বের প্রত্যাশা করে (এটি অবশ্যই একটি দশমিক পয়েন্ট সহ থাকতে পারে, এমনকি এটি একটি অনুবর্তনযোগ্য এক হলেও), এর পরে প্রস্থ এবং উচ্চতা হয় d w h

এটি কিছুটা ধীর। আমি প্রদত্ত পরীক্ষাগুলির বেশিরভাগ ক্ষেত্রে চেষ্টা করব না, কারণ এটি বয়সের জন্য চলবে। তবে, আপনি পরীক্ষা করতে পারেন যে এটি পরীক্ষার ক্ষেত্রে সঠিকভাবে কাজ করে

19. 4096 2160     -> Trash!
1. 180 240        -> Trash!
1. 181 240        -> Retina!
1. 180 241        -> Retina!
0.04 10 10        -> Retina!

মূলত, ঘনত্বকে পূর্ণসংখ্যার জন্য সমস্ত সংখ্যার মাধ্যমে গুণিত করার পরে, আপনি প্রস্থ এবং উচ্চতা 4 টির বেশি সংখ্যার চান না।

যদিও এটি ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ... সমস্ত পাটিগণিত (অবিচ্ছিন্ন) পূর্ণসংখ্যা ব্যবহার করছে।

নীতিগতভাবে, আমি আরও একটি বাইট ছাঁটাই ^করতে পারি : ক্যানটি বাদ দেওয়া যেতে পারে, তবে Trash!অতিরিক্ত পরিমাণে ব্যাকট্র্যাকিংয়ের কারণে এটি পরীক্ষার কেসগুলিকে মারাত্মকভাবে ধীর করে দেবে।

ব্যাখ্যা

প্রথমে ভাসমান পয়েন্ট অপারেশনগুলি এড়াতে অসমতার পুনরায় সাজানো যাক:

√(w2 + h2) / d > 300
√(w2 + h2) > 300 d
w2 + h2 > 90000 d2

আমরা লক্ষ্য করতে পারে এই গুন অধীনে পরিবর্তিত হয় w, hএবং dএকই সংখ্যা দ্বারা x:

w2 + h2 > 90000 d2
(x w)2 + (x h)2 > 90000 (x d)2
x2 (w2 + h2) > 90000 x2 d2
w2 + h2 > 90000 d2

অ্যানারি নম্বরকে স্কোয়ার করার বিভিন্ন উপায় রয়েছে তবে আমরা পরিচয়টি ব্যবহার করব

n2 = Σi=1..2n ⌊i/2⌋

এটি আমাদের কেবলমাত্র পূর্ণসংখ্যার গাণিতিক (অ্যানারিতে পূর্ণসংখ্যার প্রতিনিধিত্ব করে) ব্যবহার করে সমস্যার সমাধান করার একটি উপায় দেয়।

কোড মাধ্যমে যেতে দিন। প্রতিটি জোড়া লাইন একটি রেজেক্সের বিকল্প।

+`\.(\d)(.+)( .+)
$1.$2_$3_

প্রস্থ এবং উচ্চতা 10 ( xউপরের) দ্বারা গুণিত করার সময় এটি ঘনত্বের দশমিক পয়েন্টটি বারবার ডান দিকে সরায় । এটি নিশ্চিত করা যায় যে সমস্ত সংখ্যার পূর্ণসংখ্যা হয়। _জিরো যুক্ত করার পরিবর্তে, আমি সংযোজন করছি , যা আমি পরে শূন্য হিসাবে বিবেচনা করব। (এটি একটি গল্ফিং ট্রিক, কারণ অন্যথায় আমার ...${3}0অস্পষ্টতা এড়াতে লেখার দরকার ছিল $30।) +রেজেক্সের সামনের অংশটি রেটিনাকে ফলাফল পরিবর্তন বন্ধ না হওয়া অবধি এই প্রতিস্থাপনের পুনরাবৃত্তি করতে বলে (যা প্যাটার্নটি আর মেলে না তখন) ।

\b
#

আমরা এখন অ্যানারিতে রূপান্তর করার জন্য তিনটি সংখ্যা প্রস্তুত করছি। নীতিগতভাবে, #প্রতিটি সংখ্যার সামনে আমাদের একটি চিহ্নিতকারী (দ্য ) দরকার , তবে প্রতিটি সংখ্যার শেষে একটি যোগ করাও সংক্ষিপ্ত, যা রূপান্তর পদক্ষেপকে প্রভাবিত করবে না।

+`(\d*)#((((((((((9)|8)|7)|6)|5)|4)|3)|2)|1)|\w)
$1$1$1$1$1$1$1$1$1$1$3$4$5$6$7$8$9$10$11#

ড্যান 1111 দ্বারা বিকাশ করা একটি কৌশল ব্যবহার করে এটি অ্যানারিতে রূপান্তর । মূলত আমি প্রতিটি অঙ্কটি নিজের একটি পুনঃ-অঙ্কে অনুবাদ করছি, বিদ্যমান সংখ্যাগুলি 10 দ্বারা গুন করার সময় ( #প্রক্রিয়াটিতে চিহ্নিতকারীকে ডানদিকে সরানো )। এই বাইনারি উপস্থাপনাটি বিভিন্ন অঙ্কের বেশ ঝাঁকুনি হবে তবে মোট সংখ্যাটি পূর্ণসংখ্যার মানের সমান হবে। \wশেষের দিকে নোট করুন - সাধারণত এটি ঠিক 0, তবে আমরা _শূন্য হিসাবেও আচরণ করতে চাই (যা রেজেক্সে একটি শব্দ চরিত্র হিসাবে বিবেচিত হয়)।

\d
11

আমরা প্রতিটি 1অঙ্ককে দুটি আকারে পরিণত করি , যার ফলে ক) সমস্ত সংখ্যা একই (যা পরবর্তী সময়ে প্রয়োজনীয় হবে) এবং খ) প্রতিটি সংখ্যার দ্বিগুণ করে তা নিশ্চিত করে।

(?=(1*)\1)[^.]
$1

এটি দুটি কাজ করে: এটি সমস্ত সংখ্যার (বা প্রতিটি সংখ্যার অর্ধেক, একটি যোগফলকে গুণে 2n) বর্গক্ষেত্র করে এবং প্রস্থ এবং উচ্চতার ফলাফলগুলির স্কোয়ার যুক্ত করে। লক্ষ্য করুন যে গুলি, মার্কার এবং স্পেসগুলির সাথে [^.]মেলে । যদি এটি কোনও বা কোনও স্থান হয় তবে লুকোডে কোনও কিছুই ক্যাপচার করবে না, যার অর্থ এই সমস্তগুলি কেবল সরানো হয়েছে, অর্থাৎ প্রস্থ এবং উচ্চতার ফলাফলগুলি সংযুক্ত / যুক্ত করা হবে। দশমিক বিন্দু থেকে ফলাফল পৃথক পৃথক । পরিবর্তে যদি এর সাথে মেলে , তবে লুক হেড নিশ্চিত করে দেয় যে আমরা এর পরে অর্ধেক গুলি (গ্রুপে) ক্যাপচার করব । আমি উপরে উল্লিখিত সমষ্টিটি গণনা করে যা এর পরে মূল সংখ্যার বর্গক্ষেত্র প্রদান করবে।1##.d[^.]111

^(1+)\.\1{90000}1+
Retina!

স্ট্রিংটি এখন (আনারিতে), তারপরে , তারপরে (আনারিতে)। আমরা জানতে চাই যে প্রথম অবিচ্ছিন্ন সংখ্যা বার দ্বিতীয়টির চেয়ে কম হয় কিনা। ক্যাপচারিং গ্রুপ এবং পুনরাবৃত্তি সিনট্যাক্স ব্যবহার করে আমরা সহজেই এই গুণটি করতে পারি । আমরা পরে (এর পরিবর্তে ) দ্বিতীয় নম্বরটি যে এর চেয়ে বেশি এবং কেবল সমান নয় তা নিশ্চিত করতে ব্যবহার করি । যদি তা হয় তবে আমরা সেই সবগুলি প্রতিস্থাপন করব ।d2.w2 + h290000{n}1+1*Retina!

1.+
Trash!

যদি দ্বিতীয় সংখ্যাটি যথেষ্ট পরিমাণে বড় না হয় তবে পূর্বের পদক্ষেপটি কোনও পরিবর্তন করতে পারে না এবং স্ট্রিংটি এখনও একটি দিয়ে শুরু হবে 1। যদি এটি হয় তবে আমরা পুরো স্ট্রিংটি কেবল এর সাথে প্রতিস্থাপন Trash!করব এবং হয়ে গিয়েছি।


24
ঠিক আছে, এটা ঘটেছে। এখন আমরা সবাই সুখে মরে যেতে পারি।
অ্যালেক্স এ।

94
পার্শ্ব নোট হিসাবে, যেহেতু এটি রেটিনা, এটি কি অন্যান্য সমস্ত উত্তরকে ট্র্যাসে পরিণত করে?
অ্যালেক্স এ

5
আমাদের দেবতা এসেছেন!
কেড

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

2
@AlexA। না, কারণ আরও একটি রেটিনা উত্তর রয়েছে।
ইসমাইল মিগুয়েল

38

পাইথন, 49

lambda w,h,d:"RTertaisnha!!"[w*w+h*h<=9e4*d*d::2]

স্ট্রিং ইন্টারলিভিং ব্যবহার করে।

জটিল আদর্শ ব্যবহারের চেয়ে এটি উভয় পক্ষের বর্গক্ষেত্রের চেয়ে ছোট হয়ে গেছে।

w*w+h*h<=9e4*d*d
abs(w+1j*h)<=300*d

18
আমাদের Retina!নাকি প্রিন্ট করার কথা ছিল Trash!! স্থাপিত টুইট
অপ্টিমাইজার


2
@ নতুন কিন্তু এটি বিপরীত;)
অনুকূল

ভাল লাগল, আমি এখনও দেখিনি যে (আব) এক বা অন্য স্ট্রিং মুদ্রণের জন্য ব্যবহার করেছে
নিক টি

15

রেটিনা , 312 বাইট

(\d+) (\d+) (\d+)(?:\.(\d+))?
a$1bc$2dj300ke$3fg$4h9iiiiiiiii8iiiiiiii7iiiiiii6iiiiii5iiiii4iiii3iii2ii1i0
+`(b.*)(d.*)fg(\d)
0$10$2$4fg
+`(a|c|e|j)(\d)(\d*)(i*)((?:b|d|f|k).*h.*\2(i*))
$1$3$4$4$4$4$4$4$4$4$4$4$6$5
g`(i+)
Q$1R$1
+`Q(i+)Ri
$1Q$1R
+`(j(i*).*e)i(.*f)
$1$3$2
a(i*).*c(i*).*f\1\2.*
Trash!
.*0
Retina!

এটি চালাতে বেশ খানিকটা সময় নেয় তবে এটি কাজ করে বলে মনে হচ্ছে।

সম্ভবত আরও অনেক গল্ফ করা যেতে পারে ...

ব্যাখ্যা:

(\d+) (\d+) (\d+)(?:\.(\d+))?
a$1bc$2dj300ke$3fg$4h9iiiiiiiii8iiiiiiii7iiiiiii6iiiiii5iiiii4iiii3iii2ii1i0

স্ট্রিংটিকে পার্স করার জন্য আরও সুবিধাজনক করার জন্য ট্যাগগুলি যুক্ত করুন এবং বেস 1 এ রূপান্তর করা আরও সহজ করার জন্য কিছুটা জাঙ্ক যুক্ত করুন এবং পরবর্তী সময়ে গুণতে 300 যুক্ত করুন

+`(b.*)(d.*)fg(\d)
0$10$2$4fg

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

+`(a|c|e|j)(\d)(\d*)(i*)((?:b|d|f|k).*h.*\2(i*))
$1$3$4$4$4$4$4$4$4$4$4$4$6$5

প্রথম ধাপে আমি সংযুক্ত লুক-টেবিলটি ব্যবহার করে সমস্ত সংখ্যাকে বেস 1 তে রূপান্তর করুন

g`(i+)
Q$1R$1

সমস্ত সংখ্যার বর্গ প্রস্তুত করতে প্রস্তুত

+`Q(i+)Ri
$1Q$1R

প্রতিটি সংখ্যা বর্গাকার

+`(j(i*).*e)i(.*f)
$1$3$2

আমরা প্রথম ধাপে sertedোকানো 300 এর বর্গাকার দিয়ে বর্গাকার বর্গাকারকে গুণিত করুন

a(i*).*c(i*).*f\1\2.*
Trash!

উচ্চতার সাথে যুক্ত প্রস্থটি যদি আমরা কেবল গণনা করা পণ্যের সাথে ফিট করে তবে পিক্সেল ঘনত্ব খুব কম, এবং এটি ট্র্যাশ!

.*0
Retina!

অন্যথায়, এটি রেটিনা!



9

এপিএল, 40 36 বাইট

ডেনিসের জন্য 4 টি বাইট সংরক্ষণ করা!

{(9E4×⍵*2)<+/⍺*2:'Retina!''Trash!'}

এটি একটি নামবিহীন ডায়াডিক ফাংশন তৈরি করে যা প্রথম দুটি আর্গুমেন্ট বাম দিকে এবং তৃতীয়টি ডানদিকে নেয়। এটি বাম মানগুলির স্কোয়ারের যোগফল ডানটির বর্গক্ষেত্রের 300 300 2 গুণ বেশি কিনা তা পরীক্ষা করে। আউটপুট সেই অনুযায়ী মুদ্রিত হয়।

আপনি এটি অনলাইন চেষ্টা করতে পারেন !


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

@ ডেনিস আপনার সহায়তার জন্য ধন্যবাদ! আমি যখন আপনার উত্তর দেখলাম তখন আমার উত্তর মুছে ফেলার কথা বিবেচনা করেছি কারণ আপনার চেয়ে ভাল ছিল। : পি
অ্যালেক্স এ।

9

টিআই-বেসিক, 43

হোমস্ক্রিনের মাধ্যমে দ্বি-এলিমেন্টের তালিকা হিসাবে প্রস্থ এবং উচ্চতা নেয় এবং ইনপুটটির মাধ্যমে তির্যক হয়।

Input D
If 300D>√(sum(Ans²
Then
Disp "Retina!
Else
"Trash!

টিআই-বেসিকের দুই-বাইট ছোট হাতের অক্ষরগুলিতে 7 বাইট যুক্ত হয় ( iএটি কাল্পনিক একক, এটি একটি বাইট) এটি একেবারেই আপত্তিহীন হতে পারে। ধন্যবাদ, !এটিও একটি বাইট কারণ এটি ফ্যাক্টরিয়াল ফাংশনকে উপস্থাপন করে।


9

জাভাস্ক্রিপ্ট ES6, 49 বাইট

(w,h,d)=>Math.hypot(w,h)/d>300?'Retina!':'Trash!'

আমি ঘৃণা করি যে জাভাস্ক্রিপ্টের এমন দীর্ঘ গণিত অপারেটর রয়েছে। তবে এটি থাকলেও Math.pythagoreanএটি সংক্ষিপ্ত হবে।


কেউ কি মন বোঝাবেন ডাউনটা?
ডাউনগোট

সম্ভবত খুব দীর্ঘ হওয়ার জন্য।
lirtosiast

1
@ থমাসকওয়া পাইথনটি মাত্র 1 বাইট ছোট
অপ্টিমাইজার

5
বর্গমূলের গণনা করার পরিবর্তে, আপনি যদি মানগুলির স্কোয়ার তুলনা করেন তবে এটি সংক্ষিপ্ত হতে পারে।
রেটো কোরাাদি

4
@ রেটোকোরাডি হ্যাঁ, এটি সংক্ষিপ্ত:(w,h,d)=>w*w+h*h>9e4*d*d?'Retina!':'Trash!'
পেপকিন ৮৮ জুলাই'১15 '

8

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

এই সেলগুলিতে আপনার ইনপুটগুলি টাইপ করুন।

  • এ 1 = পিক্সেল প্রস্থ
  • বি 1 = উচ্চতায় পিক্সেল
  • সি 1 = ইঞ্চিতে তির্যক

এবং এই সূত্রটি আপনার ফলাফল দেয়:

=IF((300*C1)^2<A1^2+B1^2,"Retina!","Trash!")

4
আমি চেষ্টা গলফ 2 টাইপ করে এ থেকে বাইট 9E4*C1^2পরিবর্তে (300*C1)^2... এই উৎপাদনের, যাইহোক 42. একটি দৈর্ঘ্য টাইপিং 9E4Excel এ একটি সূত্র এ, পরিবর্তন করা হবে 90000যত তাড়াতাড়ি আপনি এন্টার চাপুন। :(
রস প্রেসার

7

প্রোলোগ, 51 বাইট

a(W,H,D,R):-9e4*D*D<W*W+H*H,R="Retina!";R="Trash!".

চলমান a(8192,4320,100.0,R).আউটপুট:R = "Trash!" .

সম্পাদনা: একটি কিনারা সংশোধন করার জন্য এবং একটি বাইট গল্ফ করার জন্য @ পলবাউচারকে ধন্যবাদ।


180 240 1 -> Trash!উদাহরণ থেকে ঘনত্ব 300 (উদাঃ ) হয়ে গেলে এটি "রেটিনা!" ফেরত দেয়। ভাগ্যক্রমে, যেহেতু আপনি ই-স্বরলিপি দিয়ে দুটি চরিত্রের ছাঁটাই করতে পারেন, এটি 52 >তে >=রেখেছেন:b(W,H,D,R):-9e4*D*D>=W*W+H*H,R="Trash!";R="Retina!".
পল কসাই

@ পলবুচার 90000 এর পরিবর্তে 9e4 ব্যবহার করে আসলে একটি নয়, 2 টি অক্ষর শেভ করে। সুতরাং আপনি কার্যকরভাবে আমার উত্তরটি একটি বাইট দ্বারা সংক্ষিপ্ত করার পাশাপাশি এই কিনার কেসটি সংশোধন করার জন্য ধন্যবাদ,
মারাত্মক করুন

1
সাবাশ! যুক্তিসঙ্গতভাবে সংক্ষিপ্ত প্রোলোগ উদাহরণটি দেখতে ভাল।
পল কসাই

@ পলবুচার দুটি স্ট্রিং ফলাফলের <পরিবর্তে ব্যবহার করে >=এবং অদলবদল করে আরও একটি বাইট
শেভ করেছেন

5

জাভাস্ক্রিপ্ট (ES6), 45 বাইট

f=(w,h,d)=>w*w+h*h>d*d*9e4?'Retina!':'Trash!'

কফিস্ক্রিপ্ট, 47 বাইট

কোনও টেরিনারি অপারেটর নেই, তবে ক্ষয়ক্ষতি রয়েছে (যা সর্বশেষ প্রয়াসে সহায়তা করে না)।

f=(w,h,d)->w*w+h*h>d*d*9e4&&'Retina!'||'Trash!'

# Previous attempt
f=(w,h,d)->(w*w+h*h)**.5/d>300&&'Retina!'||'Trash!'

1
অনুমান অনুসারে, ( f=) নামকরণের ফাংশন থাকা প্রয়োজন হয় না । আপনি সমস্ত সংস্করণে 2 বাইট কেটে ফেলতে পারেন।
Kroltan


5

খাঁটি বাশ (কোনও বিসি / অন্যান্য বাহ্যিক আদেশ নয়), 138 136 135 82 83 বাইট

a=${3#*.}
d=${a//?/0}
r=(Trash Retina)
echo ${r[$1$d**2+$2$d**2>90000*${3/./}**2]}!

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

মুদ্রণ বিবৃতিটি সবচেয়ে বিরক্তিকর। জিরো সহ প্যাডিং সংখ্যার জন্য যে কোনও ভাল ধারণা পেয়েছে?

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

সম্পাদনা 2: মন্তব্যে ডিজিটাল ট্রমা ধন্যবাদ, এটি এখন আরও অনেক উল্লেখযোগ্যভাবে হ্রাস পেয়েছে। কৌশলগুলি: বাশের রেজেক্স সহায়তাটি অঙ্কের পরিবর্তে শূন্যের সাথে অঙ্কের অঙ্কগুলি প্রতিস্থাপনের জন্য সেই শূন্যের সংখ্যা মুদ্রণ করা (স্পষ্ট মনে হয় যখন আমি এটির মতো রাখি ...), প্রতিধ্বনি সংরক্ষণের জন্য স্ট্রিংগুলিকে ব্যাশ অ্যারে সংরক্ষণ করে, এবং বিধিগুলিতে সামান্য পরিবর্তন বিবেচনায় নেওয়া মানে আপনি সমস্ত ইনপুট নম্বর .0 এ শেষ করতে পারেন।

EDIT3: ডিজিটাল ট্রমা প্রস্তাবিত পরিবর্তন দ্বারা প্রবর্তিত বাগ ঠিক করতে একটি বাইট যুক্ত।


১০২ এর স্কোরের জন্য এরকম কিছু: a=${3#*.};d=${a/./0};((${#a}-${#3}))||d=;r=(Trash Retina);echo ${r[$1$d**2+$2$d**2>90000*${3/./}**2]}! (আপনি ;নতুন লাইনের সাথে এটি প্রতিস্থাপন করতে পারেন - আমি এটি একটি মন্তব্যে পাওয়ার চেষ্টা করছিলাম)।
ডিজিটাল ট্রমা

এবং যদি আপনি ধরে নেন যে ঘনত্বের পুরো সংখ্যাগুলি শেষ হয়ে যাবে .0(ঠিক আছে, আমি মনে করি) তবে আপনি 82 রান করতে পারবেন:a=${3#*.};d=${a/./0};r=(Trash Retina);echo ${r[$1$d**2+$2$d**2>90000*${3/./}**2]}!
ডিজিটাল ট্রমা

আসল উদাহরণে এমন কিছু ছিল যা .0 দিয়ে শেষ হয় নি, তবে আমি লক্ষ্য করেছি যে প্রশ্নটি এখন পরিবর্তন করা হয়েছে, যাতে বেশ কিছুটা সাশ্রয় হয়। ধারণার জন্য ধন্যবাদ! দুটি প্রতিধ্বনি বিবৃতি কাটাতে আমি আপনার ধারণাটি বিশেষত পছন্দ করি; আমি কীভাবে এটি করব তা নিয়ে কাজ করার চেষ্টা করছিলাম, কোনও কারণে আমার কাছে অ্যারে ব্যবহার করার ঘটনা ঘটেনি! কিছু কারণে, এটি আমার কাছে কখনও ঘটেনি যে আপনি ** ব্যবহার করতে পারবেন ... আমি চেষ্টা করে আপনার উত্তরটি যাচাই করব, আমি কীভাবে এখানে is d কাজ করছি তা সম্পর্কে আমি কিছুটা বিভ্রান্ত কিন্তু আমি এটি খুঁজে বের করব।
মুজার

$dখুব চতুর নয়। aদশমিক বিন্দুর পরে ঘনত্বের অঙ্কগুলি অন্তর্ভুক্ত করে। d=${a/./0}এই সমস্ত অঙ্কগুলি কেবল শূন্যের সাথে প্রতিস্থাপন করে। সুতরাং আমরা সেই শূন্যগুলিকে শেষের দিকে একত্রিত করতে পারি wএবং hদশটির দশমিক বিন্দু অপসারণ করে যে দশটি একই শক্তি অর্জন করে তার দ্বারা গুণিত করতে পারি d
ডিজিটাল ট্রমা

1
চিয়ার্স, আমি ভেবেছিলাম আমি এক মিনিটের জন্য পাগল হয়ে যাচ্ছি!
মুজার

4

ডিসি, 41 বাইট

[[Retina!]pq]sr?d*rd*+vr/300<r[Trash!]p

ইনপুট হওয়ার জন্য আরোগুলির প্রয়োজন d, w, h- আমি আশা করি এটি ঠিক আছে।

পরীক্ষার আউটপুট:

$ for t in \
> "4.95 1920 1080" \
> "5.96 2560 1440" \
> "10.5 1920 1080" \
> "0.04 10 10" \
> "19 4096 2160" \
> "100.00 8192 4320" \
> "11.18 3000 1500" ; do \
> echo $t | dc -e'9k[[Retina!]pq]sr?d*rd*+vr/300<r[Trash!]p'
> done
Retina!
Retina!
Trash!
Retina!
Trash!
Trash!
Retina!
$ 

3

জুলিয়া, 46 45 42 বাইট

f(w,h,d)=w^2+h^2>9e4d^2?"Retina!":"Trash!"

এটি এমন একটি ফাংশন তৈরি করে যা তিনটি সংখ্যার মান গ্রহণ করে এবং একটি স্ট্রিং প্রদান করে।

এটি সূত্রের প্রত্যক্ষ বাস্তবায়ন, কেবল কিছুটা পুনরায় সাজানো। অসমতার উভয় দিকটি dতখন স্কোয়ার দ্বারা গুণিত হয়েছিল ।


3

আর, 59 55 বাইট

একটি নামহীন ফাংশন হিসাবে এখন

function(h,w,d)if(h^2+w^2>9e4*d^2)'Retina!'else'Trash!'

খুব সাধারণ বাস্তবায়ন, যা সূচকের রেফারেন্সের প্রয়োজনীয়তা দূর করে।

আগে

cat(if((n=scan()^2)[1]+n[2]>9e4*n[3])'Retina!'else'Trash!')

মোটামুটি সহজ, স্ক্যান থেকে কোনও ভেক্টরে ইনপুট পান (একক লাইন, স্থান পৃথকীকরণ বা মাল্টি-লাইন)। স্কয়ার ভেক্টর। গণনা এবং বিড়াল ফলাফল করুন।


3

ম্যাটল্যাব - 49 45 বাইট

c={'Trash!','Retina!'};c{(w*w+h*h>9e4*d*d)+1}

আমাকে প্রথমে একটি ঘর অ্যারে ঘোষণা করতে হয়েছিল যা রয়েছে Trash!এবং Retina!যা সেল অ্যারেতে 1 এবং 2 অবস্থানগুলিতে সঞ্চিত রয়েছে । এরপরে, আমি সমীকরণটি পুনরায় সাজানোর জন্য অনেকের দ্বারা পর্যবেক্ষণ করা পর্যবেক্ষণ ব্যবহার করি যাতে আপনি কেবলমাত্র পূর্ণসংখ্যার গাণিতিক ব্যবহার করে শর্তটি পরীক্ষা করছেন। আমি 9e4কিছু বাইট সংরক্ষণ করার জন্য 90000 উপস্থাপন করেছি । যদি এই শর্তটি সত্য হয়, আমরা একটি 1 আউটপুট করি, অন্যথায় আমরা একটি 0 আউটপুট করি I আমি এই আউটপুটটি সরাসরি সেল অ্যারেতে সূচকে ব্যবহার করি। যেহেতু ম্যাটল্যাব 1-এ সূচী শুরু করে, আমাকেও সূচী সম্পূর্ণ করতে 1 যোগ করতে হয়েছিল। কি সুন্দর যে যোগ করা হয় true1 2 দেয়, একই সময়ে যোগ false1 দেয় 1. এই ইচ্ছার আউটপুট পারেন Trash!বা Retina!ম্যাটল্যাব কম্যান্ড প্রম্প্ট হবে।

উদাহরণ

>> w=1920;h=1080;d=4.95;
>> c={'Trash!','Retina!'};c{(w*w+h*h>9e4*d*d)+1}

ans =

Retina!

আপনার দরকার নেই int8, সত্য + 1 একটি ডাবল (2)।
জোনাস

@ জোনাস আমি এটি চেষ্টা করেছি। এটি MATLAB R2013a তে 2 এ পরিবর্তিত হবে না ... অদ্ভুত।
রায়রিং - মনিকা

@ জোনাস - কাজটি করার জন্য আমাকে logicalএক্সপ্রেশনটি প্রথম বন্ধনীতে আবদ্ধ করতে হয়েছিল। ক্রিয়াকলাপের আদেশ ... ডি'ও। ভকভগক!
রায়রিং - মনিকা

চমৎকার পন্থা! (আমি চেষ্টা করেছি hypotতবে আপনার w*w+h*h>9e4*d*dচেয়ে কম) তবে, এটি কি প্রশ্নের প্রয়োজনীয়তা পূরণ করে? এটি একটি প্রোগ্রাম, কোনও ফাংশন নয়। সুতরাং এটি গ্রহণ করা উচিত w, hএবং dইনপুট হিসাবে। আমি ধরে নিয়েছি এর অর্থ স্টিডিন, যথারীতি কোড চ্যালেঞ্জে
লুইস মেন্ডো

@ লুইস মেন্ডো আহ আমাকে তা পরিবর্তন করতে হবে! ধন্যবাদ
রায়রিং - মনিকা

3

এক্সএসএলটি, 400 বাইট

এটি পিপিসিজিতে আগে কখনও দেখা যায় না এমন ভাষার আত্মপ্রকাশ, এবং আমি আরও জানার সাথে ভবিষ্যতে আরও ব্যবহার করার আশাবাদী।

কোড:

<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="input"><xsl:variable name="n" select="for $i in tokenize(.,'[^\d\.]+')return number($i)" /><xsl:choose><xsl:when test="$n[1]*$n[1]+$n[2]*$n[2]>90000*$n[3]*$n[3]">Retina!</xsl:when><xsl:otherwise>Trash!</xsl:otherwise></xsl:choose></xsl:template></xsl:stylesheet>

বেশ মুদ্রিত

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="input">
        <xsl:variable name="n" select="for $i in tokenize(.,'[^\d\.]+')return number($i)" />
        <xsl:choose>
            <xsl:when test="$n[1]*$n[1]+$n[2]*$n[2]>90000*$n[3]*$n[3]">
                Retina!
            </xsl:when>
            <xsl:otherwise>
                Trash!
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
</xsl:stylesheet>

নোট:

এক্সডিএসএলটির এসটিডিআইএন এর মাধ্যমে ইনপুট নেওয়ার কোনও উপায় নেই, তাই দুটি <input>ট্যাগের মধ্যে ইনপুট সহ আমাদের একটি এক্সএমএল ফাইল ব্যবহার করতে হবে । অবশ্যই, এই পদ্ধতির সীমাবদ্ধতা রয়েছে তবে বেশিরভাগ চ্যালেঞ্জের জন্য এটি পুরোপুরি ভালভাবে কাজ করবে।

উদাহরণ I / O

ইনপুট ফাইল:

<?xml version="1.0" encoding="ISO-8859-1"?>
<input>3000 1500 11.18</input> 

আউটপুট ফাইল:

<?xml version="1.0" encoding="UTF-8"?>Retina!

ইনপুট ফাইল:

<?xml version="1.0" encoding="ISO-8859-1"?>
<input>1920 1080 10.5</input>

আউটপুট ফাইল:

<?xml version="1.0" encoding="UTF-8"?>Trash!

2

সি # (81)

string D(int w,int h,double d){return Math.Sqrt(w*w+h*h)/d>300?"Retina":"Trash";}

Ungolfed:

string Density(int width, int height, double diagonal)
{
    return Math.Sqrt(width * width + height * height) / diagonal > 300 ? "Retina" : "Trash";
}

আপনাকে প্রতারিত বিভিন্ন অন্যদের ব্যবহার করেছেন সঙ্গে 73 এই পর্যন্ত খাটো করতে পারেন সূত্র পুনরায় লিখতে এবং বর্গমূল অপারেশন অপসারণ: string D(int w,int h,double d){return w*w+h*h>9e4*d*d?"Retina":"Trash";}। তবে আপনাকে !প্রতিটি স্ট্রিংয়ে যুক্ত করতে হবে যাতে আমি মনে করি যে এটি 75 এ ফিরে আসবে।
গোরিক

2

সুইফ্ট, 77 বাইট

ফাংশন প্যারামিটার ডিক্লেরেশনগুলির অর্থ এটি এর চেয়ে বেশি অক্ষর গ্রহণ করে:

func r(w:Float,h:Float,d:Float){print((w*w+h*h)>9e4*d*d ?"Retina!":"Trash!")}


2

সুইফ্ট, 56 বাইট

let r={print($0*$0+$1*$1>9e4*$2*$2 ?"Retina!":"Trash!")}

মূলত GoatInTheMachine এর মতো তবে অন্তর্নিহিত ক্লোজার পরামিতিগুলি

সুইফট সহ কোড গল্ফিং যখন, সর্বদা এই জাতীয় পদ্ধতি ঘোষণা করুন, এটি অনেক খাটো


2

হাস্কেল, 46

f w h d|w^2+h^2>d^2*9e4="Retina!"|0<1="Trash!"

কি হাস্কেল সিস্টেম ব্যবহার করা উচিত? আমি চেষ্টা করেছি, দিচ্ছি এমন সংস্করণটির সাথে এটি কাজ করে না <interactive>:2:8: parse error on input '|'
এড আভিস

@ এডাভিস: জিএইচসিআই প্রোগ্রাম পরিচালনা করে না; সেখানে চেষ্টা করতে, আপনি প্রয়োজন let f w h d|…
রাই

2

সি ++ 72 70 বাইট

void F(int w,int h,float d){cout<<w*w+h*h>9e4*d*d?"Retina!":"Trash!";}

অন্যান্য সমাধানের সাথে পরিচিত, কোড গল্ফের সাথে আপ আপ করার জন্য নিজেকে আবিষ্কার করলেন।


1
আপনি দম্পতি 90000হিসাবে শেভ করতে পারেন9e4
টবি স্পাইট

2

এই সমস্যার জন্য আমার অবদান এখানে

রুবি, স্টিডিন থেকে 67 বাইট পড়ছে

w,h,d=ARGV.map{|v|Float(v)}
puts w*w+h*h>d*d*9e4?"Retina!":"Trash!"

রুবি, একটি ফাংশনে 56 বাইট

কিছুটা খাটো

def r(w,h,d)
puts w*w+h*h>d*d*9e4?"Retina!":"Trash!"
end

9e4 এর জন্য পূর্বের অবদানকারীদের ধন্যবাদ!


2

বাশ, 85 বাইট

if [ $(echo "sqrt($1^2+$2^2)/$3"|bc) -gt 300 ];then
echo Retina!
else
echo Trash!
fi

1
এটি "3000 1500 11.18" এর জন্য কাজ করে না। ডিফল্টরূপে, bcএর নির্ভুলতা 0 দশমিক স্থান। আপনাকে সেট করতে হবে scaleবা আপনি সম্ভবত পালিয়ে যেতে পারেন bc -lযা স্পষ্টভাবে 20 এ স্কেল সেট করে
ডিজিটাল ট্রমা

ওহ ঠিক আছে, আমি আমার উত্তর আপডেট করেছি। ধন্যবাদ!
অ্যাডিসন

1
ওহ, এবং কোডগলফ.স্ট্যাকেক্সেঞ্জাওয়েজ / প্রশ্নগুলি / 15279/… দেখুন । উদাহরণস্বরূপ((`bc<<<"sqrt($1^2+$2^2)/$3"`>300))&&echo Retina!||echo Trash!
ডিজিটাল ট্রমা

2

পিএইচপি, 47,43,40 38 বাইট

<?=sqrt($w*$w+$h*$h)/$d>300?'Retina':'Trash'?>!
<?=sqrt($w*$w+$h*$h)/$d>300?Retina:Trash?>!
<?=$w*$w+$h*$h>9e4*$d*$d?Retina:Trash?>!

<?=hypot($w,$h)/$d>300?Retina:Trash?>!

জেট register_globals==trueমান, ডাব্লু, এইচ, ডি সহ প্রয়োজনীয় (এটি যা কখনই না হওয়া উচিত!)
- স্ট্রিংয়ের চারপাশে উদ্ধৃতিগুলি সরিয়ে 4 বাইট সংরক্ষণিত। খারাপ কোডিং, তবে এটি কাজ করে।
- dসমীকরণের অন্য দিকে সরানো এবং স্কোয়ার রুট, sqrt()ফাংশনটি সংরক্ষণ করে
- স্যুইচ করে 2 বাইট সংরক্ষণ করা হয়েছে hypot()(আপনাকে ধন্যবাদ লুকাশ কোস্টা)


আপনার কেবল এটি বলা উচিত যে এটি একটি PHP4.1 উত্তর এবং আপনার register_globalsনির্দেশিকা সেট করার দরকার নেই।
ইসমাইল মিগুয়েল

2
যে কোনও বিকল্পটি ঠিক খারাপ হাহা
মার্টিজন

2

সি # 6, 67 বাইট

string D(int w,int h,double d)=>w*w+h*h>9e4*d*d?"Retina!":"Trash!";

এই উত্তরটি ওল্ফসহেডসের উত্তরের ভিত্তিতে তৈরি। আমি সি # 6 এর নতুন বৈশিষ্ট্যটি ব্যবহার করে এটি 8 বাইট ছোট করে তৈরি করেছি।


2

জাভাস্ক্রিপ্ট (ES6) 58 54 43 বাইট

43 বাইট

সরানো ফাংশন অ্যাসাইনমেন্ট (পিপিসিজি নিয়ম অনুসারে) (-2), পাশাপাশি স্কোয়ার রুট এবং 900 (300 ^ 2) (-12) এর সাথে তুলনা করুন

(w,h,d)=>w*w+h*h/d*d>300?"Retina!":"Trash!"

54 বাইট

অসুস্থতা সংক্রান্ত প্রথম বন্ধনীর হাত থেকে মুক্তি পেয়েছে (-4 বাইট)

a=(w,h,d)=>Math.sqrt(w*w+h*h)/d>300?"Retina!":"Trash!"

58 বাইট

a=(w,h,d)=>Math.sqrt((w*w)+(h*h))/d>300?"Retina!":"Trash!"

এখানে ব্যাখ্যা:

a =                           // The function is a
 (w,h,d) =>                   // Accepts the three arguments
   Math.sqrt((w*w)+(h*h))/d   // Calculate pixel density
   > 300                      // Above the threshold
   ? "Retina!"                // If so, return "Retina!"
   : "Trash!"                 // Otherwise return "Trash!"

এটি ঘনত্ব পরীক্ষা করার জন্য টের্নারি অপারেটর ব্যবহার করে এবং তীর ফাংশন ব্যবহার করে কয়েক বাইটকে হত্যা করে


1
বর্গমূলকে এড়িয়ে এবং পরিবর্তে মানগুলির স্কোয়ারের তুলনা করে আপনি এই খাটোটি তৈরি করতে পারেন।
রেটো কোরাদি

1

জাভা, 82 74 বাইট

String g(int w,int h,double d){return 9e4*d*d>w*w+h*h?"Trash!":"Retina!";}

সাথে কল করুন g(width,height,diagonal)


1
আপনি ব্যয়বহুল doubleঅ্যারে থেকে মুক্তি পেয়ে এটি কেটে ফেলতে পারেন: String g(int w,int h,double x){return 9e4*x*x>w*w+h*h?"Trash!":"Retina!";}কখনও কখনও সর্বাধিক সবচেয়ে ভাল হয় :)
Geobits

@ জিওবিটস ধন্যবাদ, দুটি পদ্ধতির বাইট বাজেটের জন্য আমি সময় নিইনি, আপনি খুশী হলেও আপনি খুশি!
ডেডচেক্স

1

Clojure, 58 বাইট

#(if(>(+(* %1%1)(* %2%2))(* %3%3 90000))"Retina!""Trash!")

এটি সংক্ষিপ্ত করতে @ ক্রোল্টনের অভিনব গণিত ব্যবহৃত হয়েছে। (ডাব্লু, এইচ, ডি) এর ক্রমে উত্তেজিত যুক্তি ব্যবহার করে।

প্রথম ক্লোজার গল্ফ ... আমি অবাক হয়েছি যে আমাকে কতটা সাদা জায়গা ছেড়ে যেতে দেওয়া হয়েছে

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