বিজ্ঞপ্তি কীবোর্ড সর্পিল


24

এটি একটি QWERTY কীবোর্ড।

Q W E R T Y U I O P
 A S D F G H J K L
  Z X C V B N M

জি থেকে শুরু করে আমরা এই কীবোর্ডটিতে "সর্পিল" করতে পারি। , তারপরে আর, তারপরে ডি, তারপরে সি, ... ইত্যাদি আপনার চ্যালেঞ্জটি হ'ল একটি নম্বর 1 ≤ N ≤ 26 দেওয়া, এই সর্পিলটিতে প্রথম এন অক্ষর আউটপুট করুন । (আপনি যদি বিভ্রান্ত হন তবে পোস্টের শেষে ছবিগুলি দেখুন))

ক্যাচ? আপনার প্রোগ্রামের স্কোর সর্পিলের ভিতরে পাওয়া অক্ষরের সূচকগুলির সাথে সমানুপাতিক!

স্কোরিং

  1. আপনার কোডের প্রতিটি অক্ষরের (কেস-সংবেদনশীল) জন্য, সর্পিলটিতে সেই অক্ষরের সূচকটি আপনার স্কোর যুক্ত করুন (1 থেকে শুরু)।
  2. সর্পিলাকারে নয় প্রতিটি চরিত্রের জন্য, আপনার স্কোরটিতে 10 যোগ করুন।
  3. সর্বনিম্ন স্কোর জয়।

উদাহরণস্বরূপ, প্রোগ্রামটির print("Hello, World!")স্কোর 300 রয়েছে।

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

অন্যান্য বিধি

  • আপনার জমা কোনও প্রোগ্রাম বা ফাংশন হতে পারে।
  • আপনি এন 0 বা 1 থেকে শুরু করে যথাক্রমে 25 বা 26 এ শেষ করতে পারেন , তবে ফলাফলগুলি এখনও "জি" দিয়ে শুরু হওয়া উচিত এবং "GHYTFVBNJURDCMKIESXLOWAZPQ" দিয়ে শেষ হওয়া উচিত।
  • আপনাকে অবশ্যই সর্পিলের অক্ষরগুলিকে ক্রম অনুযায়ী আউটপুট করতে হবে ।
  • যদি কোনও ফাংশন হয় তবে আপনি স্ট্রিংয়ের পরিবর্তে অক্ষরের একটি তালিকা ফিরে আসতে পারেন।
  • আউটপুট অনুসরণ করে আপনার কাছে একটি ট্রেলিং নিউলাইন থাকতে পারে।
  • আপনি বড় হাতের অক্ষরের পরিবর্তে ছোট হাতের অক্ষর বা উভয়ের সংমিশ্রণ ব্যবহার করতে পারেন।

পরীক্ষার মামলা

number -> output
1 -> G
2 -> GH
5 -> GHYTF
12 -> GHYTFVBNJURD
15 -> GHYTFVBNJURDCMK
24 -> GHYTFVBNJURDCMKIESXLOWAZ
26 -> GHYTFVBNJURDCMKIESXLOWAZPQ

ছবি

নিয়মিত কীবোর্ড

সর্পিল সুপারিম্পোজড:

সর্পিল কীবোর্ড


3
কেউ সম্প্রতি স্ফিয়ারটি দেখেছেন ...
পিওরফেরেট

আপনি কি আমাকে আলোকিত করতে পারবেন? আপনি কী উল্লেখ করেছেন তা আমি নিশ্চিত নই।
কনর ও'ব্রায়েন

@ কনরোও ব্রায়ান ইন স্পিয়ার (উপন্যাস এবং চলচ্চিত্র উভয়), একজন পরকীয়া মানুষের সাথে দুই-অঙ্কের সংখ্যাসূচক কোড ব্যবহার করে যোগাযোগ করেন যেখানে প্রতিটি সংখ্যা কীবোর্ডের একটি অক্ষরের সাথে খুব অনুরূপ প্যাটার্নের সাথে মিলে যায়
ইঞ্জিনিয়ার টোস্ট

উত্তর:


14

জাপট , 304 264 162 পয়েন্ট

@ কনরও ব্রায়েনকে 40 পয়েন্ট সংরক্ষণ করা হয়েছে thanks

;î"历锋㫿鮹㿬崴ꨜꎋΞ"csG

এটি অনলাইন পরীক্ষা!

যতটা সম্ভব পয়েন্ট সাশ্রয় করার জন্য, পুরো স্ট্রিংটি 9 টি ইউনিকোড চরগুলিতে প্রতিটি বর্ণকে 3 অক্ষরের একটি বেস -36 সংখ্যা হিসাবে ব্যাখ্যা করে, তারপর একটি কোড পয়েন্টে রূপান্তরিত করে 9 টি ইউনিকোড অক্ষরে ঘন করা হয়। প্রোগ্রামটি নিজেই এই সংকীর্ণ স্ট্রিংটি গ্রহণ করে (যার মূল্য cমূল্যস্বরূপ ১১০ পয়েন্ট) এবং প্রতিটি হারকোডকে sবেস -৩ (( শুরুর Gপরে ) এর ট্রিংয়ে রূপান্তর করে মানচিত্র তৈরি করে ;îএটির প্রথম {ইনপুট} অক্ষর নেয়, যা স্পষ্টভাবে মুদ্রিত।


11

সি, স্কোর: 544

g(g){write(1,"GHYTFVBNJURDCMKIESXLOWAZPQ",g);}

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


... আপনি কেন ফাংশনটিকে যুক্তির মতো একই নাম দিচ্ছেন?
মনিকার লকসুট

6
@ কিপেইসট্যাক্স কারণ gচ্যালেঞ্জটিতে ব্যবহৃত স্কোরিংয়ের তুলনায় সস্তা চিঠি।
স্টেডিবক্স

আহ, আমি কাস্টম স্কোরিং মিস করেছি।
ফান্ড মনিকার লসুইট

11

সর্পিল , স্কোর:  61921   5127   4715   4655  4191

4.X~>v+^#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v
   X *   X X X X X X X X X X X X X X X X X X X X X X X X X
   ! >   h y t f V b n j u [ ( 1 3 2 ) ] U J N B F T Y H G
0;vgv*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*vvv****v+^v+^v+^v+^*v++4
    X X X X X X X X X X X X X X X X X X X X X X X X X X
    v v v v v v v v v v v v v v v v v v v v v v v v v v
    Y y J F V u t U [ G H B n 3 N 2 j ) h g f ] ( 1 b T

এখানে একজন দোভাষী পাওয়া যাবে

ব্যাখ্যা:

P.X~ZZ*v+^#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v
   X       X X X X X X X X X X X X X X X X X X X X X X X X X
   !       h y t f V b n j u r d c m k i e s x l o w a z p q
0;vgv*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*****************************************************************vP
    X X X X X X X X X X X X X X X X X X X X X X X X X X
    v v v v v v v v v v v v v v v v v v v v v v v v v v
    z y x w V u t s r q p o n m l k j i h g f e d c b a

প্রোগ্রামটি 0চতুর্থ লাইনের চরিত্র থেকে শুরু হয় । কোড চালানোর প্রথম টুকরোটি 0;vg;ইনপুট হিসাবে একটি সংখ্যা নেয় এবং এটি স্ট্যাকে রাখে। vরেজিস্টারে যা আছে তা স্ট্যাকের মধ্যে রাখে। এটি কাউন্টার হিসাবে ব্যবহৃত হবে। gএটি একটি লেবেল, যখন এটি পৌঁছে যায়, নিয়ন্ত্রণটি gকোডের চিঠির অন্য উপস্থিতিতে চলে যায় ।

নিয়ন্ত্রণ এখন তাই এখানে:

X
v
g

যেহেতু অন্য সমস্ত দিকগুলিতে সাদা স্থান রয়েছে তাই নির্দেশিকা পয়েন্টারটি উপরের দিকে অগ্রসর হতে শুরু করে। vস্ট্যাকের মধ্যে একটি শূন্য রাখে এবং Xতাড়াতাড়ি স্ট্যাক থেকে পপ করে। পপড মানটি শূন্য হওয়ায়, নির্দেশ পয়েন্টারটি সরানো হয় X(অন্যথায় এটি এটিকে হোয়াইটস্পেস হিসাবে বিবেচনা করবে)।

ডিফল্টরূপে, নিয়ন্ত্রণ প্রবাহটি টার্ন-ডান মোডে রয়েছে, সুতরাং এখন যখন এটি জংশনে পৌঁছায়, নির্দেশ পয়েন্টারটি ডানদিকে ফিরে যায়। vতবুও আবার স্ট্যাকের মধ্যে একটি শূন্যের দিকে ঠেলে দেয়, *নিবন্ধকে একের সাথে বাড়িয়ে দেয়।

v*v*v
  X
  v
  g

পরেরটি vনিবন্ধে যা আছে তা (1 নম্বর) স্ট্যাকের মধ্যে রাখে, নির্দেশ পয়েন্টারটি ডানে ফিরে যাওয়ার চেষ্টা করে, পরবর্তীটিতে আঘাত করে X। স্তুপে সবে যুক্ত করা মানটি পপড এবং রেজিস্টারে রাখা হয়। কারণ এটি শূন্য Xনয়, প্রবেশ করা হয়নি এবং আইপি *তার পরিবর্তে ডানদিকে পরের দিকে চলে যায় , আবার রেজিস্টারে মান বাড়িয়ে দেয়।

v*v*v*v*v
X X X X X
v v v v v
i h g f e

যতক্ষণ না আমরা এই অংশটির শেষ প্রান্তে পৌঁছায় এবং এর লাইন *শুরু না হয় এটি বারবার ঘটে happens এতক্ষণে নিবন্ধকের মান 6, যা এএসসিআইআই লেটার gবিয়োগ এসএসসিআই চিঠি a। এইভাবে 97 *টির একটি লাইনের সাহায্যে আমরা নিবন্ধকে মানটি 103-তে বাড়িয়ে দেব, যা gআমরা মুদ্রণ করতে চাইলে সেই অক্ষরের সাথে মেলে । vএটিকে স্ট্যাকের দিকে ঠেলে দেয় এবং এটি Pহিট করার পরে একটি অন্য লেবেল যা আমরা Pকোডের প্রথম লাইনে অন্যটিতে ঝাঁপিয়ে পড়ে ।

এখানে .স্ট্যাক থেকে মানটি পপ করে এবং এটি একটি চরিত্র হিসাবে মুদ্রণ করে। এর পরে Xস্ট্যাক থেকে বহিরাগত শূন্যটি পপ করে, তারপরে স্ট্যাকের ~মধ্যে থাকা দুটি মানকে (মানগুলি পাল্টা এবং ইনপুট মান হিসাবে) তুলনা করে। মানগুলি একই হলে অপারেটর স্ট্যাকের শূন্য রাখে (অন্যথায় -1 বা 1)। আবার, নিয়ন্ত্রণ ডান দিকে ঘুরিয়ে দেওয়ার চেষ্টা করে। Xস্ট্যাক থেকে তুলনা করার মানটি পপ করে, যদি এটি শূন্য হয় X, এবং এটি !প্রবেশের পরে , প্রোগ্রামটি শেষ করে।

P.X~ZZ*v+^
   X
   !

অন্যথায় আইপিটি অবিরত থাকে Z, এটি একটি লেবেল যা এই ক্ষেত্রে ডানদিকে কেবল এক ধাপে লাফ দেয়। এটি করার কারণটি হ'ল জাম্পিংটি নিবন্ধকের মানটি শূন্যে ফিরে আসে। *রেজিস্টার বৃদ্ধি এবং vফলাফল 1 স্ট্যাক মধ্যে রাখে। +স্ট্যাকের দুটি শীর্ষ উপাদানকে পপ করে (1 এবং কাউন্টার), সেগুলি যুক্ত করে এবং ফলটিকে স্ট্যাকের মধ্যে রাখে (ফলস্বরূপ এটি কাউন্টারটিকে বাড়িয়ে তোলে)। ^ফলটিকে স্ট্যাক থেকে অপসারণ না করে স্ট্যাক থেকে রেজিস্টারে অনুলিপি করে।

#এক দ্বারা নিবন্ধকের মান হ্রাস করে, vহ্রাসিত মানটিকে স্ট্যাকের দিকে ঠেলে দেয়, আইপি ডান দিকে ঘুরতে চেষ্টা করে এবং Xস্ট্যাক থেকে মানটি পপ করে। মানটি যদি শূন্য নয় তবে আইপি পূর্বে চলে যেতে থাকবে, রেজিস্টারে মান হ্রাস করে, যতক্ষণ না এটি শূন্যকে আঘাত করে এবং আইপি কোনও Xশাখায় প্রবেশ করে না ।

#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v
 X X X X X X X X X X X X X X X X X X X X X X X X X
 h y t f V b n j u r d c m k i e s x l o w a z p q

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

সম্পাদনা:

P.X~Zv+^
   X *
   ! Z

হিসাবে একই জিনিস অর্জন

P.X~ZZ*v+^
   X
   !

তবে কম সাদা জায়গা।

সম্পাদনা 2:

vv****v+^v+^v+^v+^*v++P

এর পরিবর্তে ব্যবহার করা যেতে পারে:

*****************************************************************vP

2
লৌকিক যে "সর্পিল" নামক একটি ল্যাঙ্গুয়াজে একটি সর্পিল আউটপুট সমস্যায় এত বেশি স্কোর রয়েছে।
শিরকম

6

হাস্কেল , 471

(`take`"GHYTFVBNJURDCMKIESXLOWAZPQ")

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

এটি একটি মানদণ্ডের সামান্য বিষয়, আমার মনে হচ্ছে আরও ভাল উপায় থাকতে হবে তবে এটি এখন পর্যন্ত সবচেয়ে ভাল খুঁজে পেয়েছি।

ব্যাখ্যা

আমি মনে করি হাস্কেলের সাথে খুব ভাল পরিচিত না তাদের জন্য আমার এটি ব্যাখ্যা করা উচিত। ফাংশনটি takeতালিকার প্রথম এন উপাদানগুলি গ্রহণ করে। এটিকে এভাবে বলা হয়:

take n list

আমরা স্টিংয়ের প্রথম এন উপাদানগুলি নিতে চাই "GHYTFVBNJURDCMKIESXLOWAZPQ", তাই আমরা এর মতো কিছু চাই

f n=take n"GHYTFVBNJURDCMKIESXLOWAZPQ"

যদিও আমরা আরও ভাল করতে পারি, আমরা takeব্যাকটিক্স ব্যবহার করে ইনপিক্স করতে পারি

f n=n`take`"GHYTFVBNJURDCMKIESXLOWAZPQ"

এবং এখন এটি পয়েন্টফ্রি করা যেতে পারে

(`take`"GHYTFVBNJURDCMKIESXLOWAZPQ")

partialক্লোজুরেতে এটি লজ্জার আংশিক প্রয়োগের প্রয়োজন । এটিই আমি যাচ্ছিলাম তবে partialব্যয়বহুল ছিল।
কারসিজেনিকেট

3
আপনার স্কোর 470 হয় না? এই প্রশ্নের স্নিপেট যাইহোক আমাকে দিচ্ছে ...
ঠিক একজন ছাত্র



4

বেফুঞ্জ, স্কোর: 531

QPZAWOLXSEIKMCDRUJNBVFTYHG"&\>,# 1#\-# :# _@

আমি মনে করি এই চ্যালেঞ্জটি আরও আকর্ষণীয় হত যদি আউটপুটটিও একটি সর্পিলের মধ্যে থাকতে হত।


4

টিআই-বেসিক (টিআই -৪৪ প্লাস সিই), 454 432 পয়েন্ট

sub("GHYTFVBNJURDCMKIESXLOWAZPQ",1,Ans

কনর ও ব্রায়ান থেকে -22 পয়েন্ট

সাথে চালাও 5:prgmNAME

রিটার্নস / ছাপে subথেকে STRING 1থেকে Ans(নম্বর ইনপুট)।

টিআই-বেসিকটি একটি টোকেনাইজড ল্যাঙ্গেজ , তাই আমি টোকেনের বাইট মান দ্বারা এটি স্কোর করছি।

sub( 0xbb 0x0c, তাই 20

"0x2a হয়, সুতরাং *, 10 * 2 = 20

বড় হাতের অক্ষর পরিবর্তন হয় না, সুতরাং স্ট্রিং 351

,0x2b, তাই +10 * 2 = 20

10x31, 1তাই 10

Ans0x72, যা r11, তাই

20 + 20 + 351 + 20 + 10 + 11 = 432


স্কোরিং নিয়মের এই ব্যাখ্যার সাথে আপনি সৃজনশীল জায়গাগুলিতে বর্ণগুলি সন্ধান করে আরও 31 বাইট সংরক্ষণ করতে পারেন। এস, এ, জেড, পি স্ট্যাট ভেরিয়েবল গুলি, এ, জেড, পি (স্ট্যাট + ৫ মেনুতে) দ্বারা প্রতিস্থাপন করুন, যা প্রতিটি স্কোর ১ points পয়েন্ট: তারা 2-বাইট টোকেন যার প্রথম বাইট বি এর সাথে মিলে যায়। ও, ডাব্লু, কিউকে ছোট ছোট অক্ষর দ্বারা প্রতিস্থাপন করুন যা প্রতিটি ২০ পয়েন্ট করে: তারা 2-বাইট টোকেন 0xBBBF, 0xBBC7, 0xBBC1।
মিশা লাভরভ

3

পাইথন 3, স্কোর = 762 753

1-ভিত্তিক ইনপুট। এটি তুচ্ছ পদ্ধতির চেয়ে খারাপ, যেহেতু এটি 37 টি নন-অক্ষর ব্যবহার করে। যদিও এটি কিছুটা আকর্ষণীয়।

লিও -9 ধন্যবাদ ।

h=lambda g:g and h(g-1)+chr(65+int('GYGGYHGYYGYTGTYHGYGGHGGTGHGYGYGFGHGGYGGHHGGHHYYGHGHGGYFGGYHGGTHGHTGGGGGFGGVHGT'[g*3-3:g*3],35)%26)or''

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


1
আমি এই পদ্ধতির পছন্দ করি :) যাইহোক 9 স্কোর দিয়ে মোট স্কোর হ্রাস [:g*3][-3:]পেতে পারে[g*3-3:g*3]
লিও


2

ব্রেইনফ ** কে, স্কোর = 2690

ইনপুট একটি একক বাইট ছোটো থেকে 0x1থেকে 0x1a

>>++++>+++>>>>++++++++++[<+<-<+>>>-]<<--<+++>>>++>->+++++++++++>++++++>-------->---->-->>---------->--------->+++++>++++++++>--->+>----------->+++++++++>------->+++++++>++++++++++++>----->------>+>>+++++++[<+++++++++++[<[[+<]+<]>->[[>]>]<<<-]>-]<<[-]>,[[<]<.[-]>+[>]<-]

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


2

এপিএল (ডায়ালগ) , স্কোর: 391

↑∘'GHYTFVBNJURDCMKIESXLOWAZPQ'

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

ডায়ালাগে লাতিন অক্ষরের একমাত্র ব্যবহার পরিবর্তনশীল নাম এবং কিছু সিস্টেম ফাংশনে। তা ছাড়া কেবল গ্লাইফ এবং কিছু গ্রীক অক্ষর ব্যবহৃত হয়।



1

Clojure, 484 474 পয়েন্ট

-10 পয়েন্ট কারণ আপাতদৃষ্টিতে কোনও %সংখ্যার পরে একটি স্থানকে আলাদা না করেই উপস্থিত থাকতে পারে !? আমাকে আবার ফিরে যেতে হবে এবং কিছু জমা দিতে হবে improve

#(subs"ghytfvbnjurdcmkiesxlowazpq"0%)

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

(defn spiral [n]
  ; Substring the hardcoded list, going from index 0 to n
  (subs "ghytfvbnjurdcmkiesxlowazpq" 0 n))



1

কাস্তে , 293 বাইট

↑¨ghytfvb⌋ȷÜdcmkÏexl⁰Λzpq

এটি আমার কাছে সংক্ষিপ্ততম ¨gHYtfvB⌋ȷÜdCmkÏex←ẆAzpq¨, 293 স্কোরের কাছাকাছি ...

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

ব্যাখ্যা

নিষ্ঠুর-বাহিনী অনুসন্ধান, সমস্ত নিম্ন-কেস সেরা স্কোর প্রদান করে। এটি মূলত @ উইট উইজার্ডের দ্রবণ হিসাবে একই, take( ) একটি সংকুচিত স্ট্রিংতে ( ¨)।



1

এক্সেল, 490 পয়েন্ট

=LEFT("GHYTFVBNJURDCMKIESXLOWAZPQ",A1)

এক্সেল আনসারদের জন্য কনভেনশনটি ইনপুট নেওয়া উচিত A1। এটি G122 পয়েন্ট (468) কেটে যায়।

=LEFT("GHYTFVBNJURDCMKIESXLOWAZPQ",G1)


1

মরিচা, স্কোর 443

এটি প্রায়শই নয় যে কোড গল্ফে মরিচা ভাল তবে এখানে এটি বহু ভাষায় মারধর করে

|g|&"GHYTFVBNJURDCMKIESXLOWAZPQ"[..g]


1

জাভাস্ক্রিপ্ট ES6, 527 পয়েন্ট

g=>`GHYTFVBNJURDCMKIESXLOWAZPQ`.slice(0,g)

চেষ্টা করে দেখুন!

f=g=>`GHYTFVBNJURDCMKIESXLOWAZPQ`.slice(0,g)

input.oninput = function() {
    output.value = f(input.value);
}
textarea { width: 500px; height: 6em; font-style: monospace; }
<textarea id="input"></textarea>
<textarea disabled id="output"></textarea>







0

> <> , 558 + 16 = 574 পয়েন্ট

<;v? : <{"GHYTFVBNJURDCMKIESXLOWAZPQ"
  >$o1-^

-vস্ট্যাকের উপর ইনপুট পুশ করতে পতাকা ব্যবহার করে ।

বিপরীত ক্রমে স্ট্যাকের উপর সর্পিলটি পুশ করে, তারপরে ইনপুটটিকে শীর্ষে আবর্তিত করে। তারপরে, যখন স্ট্যাকের শীর্ষটি শূন্য নয়, পরবর্তী অক্ষরটি মুদ্রণ করে এবং স্ট্যাকের শীর্ষটিকে হ্রাস করে।

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


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