একটি মই আঁকুন এবং স্লাইড করুন


24

আপনার কাজটি এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করা যা ইনপুট হিসাবে n1 এবং 25 (সমেত) এর মধ্যে একটি প্রাকৃতিক সংখ্যা ( ) অন্তর্ভুক্ত করে এবং একটি স্লাইড এবং সিঁড়ির আইসোমেট্রিক উপস্থাপনা মুদ্রণের সংখ্যা সহ প্রিন্ট করে n

মই এবং স্লাইড নির্দিষ্টকরণ

মই সর্বদা বাম দিকে এবং ডানদিকে স্লাইডমুখী হয়। আমরা এটিকে সিড়ির দিক থেকে দেখছি, সুতরাং স্লাইডের কিছু অংশ শীর্ষ তিন স্তরে অস্পষ্ট। র্যাঙগুলি চারটি ড্যাশ ( ----) এবং মইয়ের পাশ এবং স্লাইড ( /এবং \) দ্বারা স্লাইড দ্বারা প্রতিনিধিত্ব করা হয় । পাঁচটি র‌্যাং সহ স্লাইডের জন্য প্রয়োজনীয় জায়গাগুলির নিদর্শনগুলি উপস্থাপন করার জন্য নীচে একটি চিত্র রয়েছে

Slide              Blank space count
    /----/\        1234/----/\ 
   /----/  \       123/----/12\ 
  /----/    \      12/----/1234\ 
 /----/ \    \     1/----/1\1234\ 
/----/   \    \    /----/123\1234\

উদাহরণ

>>1
/----/\

>>3
  /----/\ 
 /----/  \ 
/----/    \ 

>>4
   /----/\ 
  /----/  \ 
 /----/    \ 
/----/ \    \ 

>>10
         /----/\ 
        /----/  \ 
       /----/    \ 
      /----/ \    \ 
     /----/   \    \ 
    /----/     \    \ 
   /----/       \    \ 
  /----/         \    \ 
 /----/           \    \ 
/----/             \    \ 

এটি কোড-গল্ফ, সুতরাং সর্বনিম্ন বাইট গণনা সহ উত্তর জিতবে।

দ্রষ্টব্য: যতক্ষণ না এটি লাইনের দৈর্ঘ্য অতিক্রম না করে ততক্ষণ সাদা স্থান আউটপুটটিতে গ্রহণযোগ্য।


14
আপনি এই স্লাইড শেষে আপনার পা ভাঙ্গতে হবে!
ফ্যাটালাইজ করুন

13
@ ফ্যাটালাইজ যা হ'ল ... মারাত্মক।
ভেন

7
@ যদি নীচে একটি পুল আঁকেন তবে আপনার জন্য ফ্যাটালাইজ বোনাস পয়েন্টগুলি;)
অ্যাটলোলজিস্ট

8
@ অ্যাতলজিস্ট রক্তের একটি পুল?
নিল

দুঃখিত যদি এটি একটি বোবা প্রশ্ন, তবে নীচের উত্তরগুলির কয়েকটি (পাইথন, জাভাস্ক্রিপ্ট) একটি ফাংশন সংজ্ঞায়িত করে যা এটি মুদ্রণের পরিবর্তে একটি স্ট্রিং দেয়। এটা কোশার?
জর্ডান

উত্তর:


17

রেটিনা , 81 72 52 বাইট

বাইট গণনাটি আইএসও 8859-1 এনকোডিং ধরেছে।

.+
$* /\    \
^.

+` /(.+)$
$&¶$%`/  $1
/.{5}
/----/

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

ব্যাখ্যা

প্রোগ্রামটি চারটি পর্যায় নিয়ে গঠিত, যার সবগুলিই রেজেেক্স বিকল্প (কয়েকটি রেটিনা-নির্দিষ্ট বৈশিষ্ট্য সহ)। আমি 5ব্যাখ্যা হিসাবে উদাহরণ হিসাবে ইনপুট ব্যবহার করব ।

ধাপ 1

.+
$* /\    \

এটি ইনপুটটিকে ফাঁকা স্থানগুলিতে nরূপান্তরিত nকরে /\ \যার পরে সিঁড়ি / স্লাইডের শীর্ষে পরিণত হবে:

     /\    \

আপাতত, আমরা কেবল পুরো স্লাইডটি প্রদর্শন করব এবং মইটিকে কেবল তার বাম হাত দ্বারা উপস্থাপন করব /

ধাপ ২

^.

দুর্ভাগ্যক্রমে, nস্পেসগুলি আমাদের প্রয়োজনের তুলনায় আরও একটি, তাই আমরা আবার প্রথম অক্ষরটি সরিয়ে ফেলি। আমরা এখন পেয়েছি:

    /\    \

পর্যায় 3

+` /(.+)$
$&¶$%`/  $1

সম্পূর্ণ কাঠামো প্রসারিত করার সময়। শীর্ষটি কোথায় রয়েছে তা জানা পুরো জিনিসটি তৈরি করার পক্ষে যথেষ্ট, কারণ আমরা সিঁড়ি এবং স্লাইডটিকে দুটি স্পেস দিয়ে আলাদা করে এক সময় এটি এক লাইন প্রসারিত করতে পারি।

+রেটিনা বলে একটি লুপ এই পর্যায়ে পুনরাবৃত্তি না হওয়া পর্যন্ত আউটপুট পরিবর্তন স্টপ (এই ক্ষেত্রে, কারণ Regex ম্যাচিং স্টপ)। রেজেক্স নিজেই, আমরা কেবল /সর্বশেষ লাইনে এবং তার পরে সমস্ত কিছু মিলিয়েছি এবং আমরা এর সামনে একটি স্পেসও মেলে, যার অর্থ এটি আর মিলতে পারে না একবার /প্রথম কলামে পৌঁছেছে।

এটির সাথে আমরা এটি প্রতিস্থাপন করব:

 $&    The match itself. We don't want to remove the line we already have.
 ¶     A linefeed, because we want to append a new line.
 $%`   This is a very recent addition to Retina: it's like the normal $` but
      is bounded by linefeeds. That means this inserts everything in front
      of the match which is on the same line. In particular this one space
      less than the indentation of the matched line, hence we are shifting
      the / one column left.
 /     A literal /, representing the left edge of the ladder.
>  <   Two spaces, so that we can shift the slide one column right.
 $1    Capturing group 1 which contains the slide and its separation from
      the ladder.

সুতরাং প্রতিটি পুনরাবৃত্তিতে, এটি স্ট্রিংয়ের সাথে একটি লাইন যুক্ত করে, যতক্ষণ না আমরা এর সাথে শেষ করি:

    /\    \
   /  \    \
  /    \    \
 /      \    \
/        \    \

মঞ্চ 4

/.{5}
/----/

সিঁড়িটি ঠিক আছে left এটি সত্যই সহজ, আমরা কেবলমাত্র /এবং পরবর্তী 5 টি অক্ষরের সাথে মেলে এবং সঠিক মই প্রতিনিধিত্ব সন্নিবেশ করি, এর ফলে স্লাইড বা স্পেসগুলি ইতিমধ্যে রয়েছে:

    /----/\
   /----/  \
  /----/    \
 /----/ \    \
/----/   \    \

9

ভি , 38, 37, 36, 34, 33, 32, 31, 30 29 বাইট

Àé r\2é/4é-òhYpX$2P^ò3GEòjlr\

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

আমি পারে Osabie সাথে মিলিত হন। ওসাবির চেয়ে এক বাইট ছোট। \o/2sable সঙ্গে বাঁধা! এক বাইট খাটো!

অন্যান্য খবরে, এটি অবশ্যই আমি দীর্ঘতম স্ট্রাইকথ্রু শিরোনাম করেছি er

ব্যাখ্যা:

Àé              "Insert 'arg1' spaces
   r\           "Turn the last one into a '\'
     2é/        "Insert 2 '/'
        4é-     "Insert 4 '-'

ò        ò      "Recursivly:
 h              "  Move one to the left
  Yp            "  Duplicate this line
    X           "  Delete one space from the left
     $2P        "  Paste two spaces at the end of this line
        ^       "  Move back to the beginning of this line.

এটি ততক্ষণ চলবে যতক্ষণ না ত্রুটি দেখা দেয়, যা "মুভি বাম" কমান্ড ('h') এর জন্য ধন্যবাদ 'আরগ 1' বার হবে।

এখন আমাদের কেবল অভ্যন্তরীণ পা যুক্ত করা দরকার

3GE             "Move to the second slash of line 3
   ò    ò       "Recursively: (The second 'ò' is implicit)
    jl          "  Move down and to the right
      r\        "  And replace the character under the cursor with a '\'

অ-প্রতিযোগিতামূলক সংস্করণ (২৮ বাইট)


8

পাইথ, 39 35 বাইট

VQ++*dt-QN"/----/">+*+ddN"\    \\"5

ব্যাখ্যা:

VQ                                  # Interate over 0 -> Q-1 (Q is the input)
  +                                 # Concatenate the 2 halfs of the slide
   +                                # Concatenate the whitespace block and the ladder
    *d                              # Multiply d (whitespace) by this number \/
      t-QN                          # Calculate the amount of spaces before : input - step of the iterarion -1
          "/----/"                  # Ladder
                  >               5 # Remove the first 5 chars  from the string generated in the following lines 
                   +                # Concatenate the whitespace block and the slide
                    *+ddN           # Multiply "+dd" (2 whitespace) by the step of the iterarion to generate the space between the ladder and the slide
                         "\    \\"  # Slide

পরীক্ষা এখানে


8

2sable , 40 36 32 30 বাইট

হুম, ভি ভীষণ ভয়ঙ্কর কাছাকাছি আসছে ...

F¹N-<ð×…/--«ðð«N×…\  ««5F¦}¶

সিপি -1222 এনকোডিং ব্যবহার করে । একটি 05AB1E সামঞ্জস্যপূর্ণ সংস্করণ চেষ্টা করুন!



@ ডিগ্রিগ্রিনএগ্রসএন্ডআরনম্যান হুঁ মম !!?!?!
আদনান

আরও একটি বন্ধ আছে, এবং আমি বাড়ি ফিরে একবার আরও একটি। এছাড়াও, আমি ভাষাগুলি স্যুইচ করছি না। : পি
ডিজেএমসিহেম

7

পাওয়ারশেল ভি 2 +, 99 90 82 বাইট

param($n)1..$n|%{" "*($n-$_)+"/----/"+-join(" "*($_+$i++)+"\    \")[6..(6+$_+$i)]}

ইনপুট লাগে $n, থেকে একটি লুপ শুরু 1করার $nসঙ্গে |%{...}। প্রতিটি পুনরাবৃত্তি, আমরা একটি স্ট্রিং নির্মাণ করছি। আমরা যথাযথ সংখ্যা " "*($n-$_)এবং মই দিয়ে শুরু করি "/----/"

এটিতে, আমরা আরও একটি স্ট্রিং যুক্ত করেছি যা কাটা [...]এবং -joinএকসাথে ফিরে এড করা হয়েছিল। দ্বিতীয় স্ট্রিংটি স্লাইড এবং আমরা ধরে নিই যে পুরো স্লাইডটি সর্বদা দৃশ্যমান। এটা তোলে স্পেস সামনে স্লাইড শুরু করবেন সংখ্যা এর " "*($_+$i++)স্লাইড নিজে অনুসৃত "\ \"। এটি "স্পেস প্লাস স্লাইড" এর অংশ হতে গণনা করা একটি পরিসীমা দ্বারা কেটে দেওয়া হয়েছে যা মই দ্বারা আংশিকভাবে আড়াল রয়েছে।

উদাহরণ

PS C:\Tools\Scripts\golfing> .\draw-a-ladder-and-slide.ps1 7
      /----/\
     /----/  \
    /----/    \
   /----/ \    \
  /----/   \    \
 /----/     \    \
/----/       \    \

PS C:\Tools\Scripts\golfing> .\draw-a-ladder-and-slide.ps1 15
              /----/\
             /----/  \
            /----/    \
           /----/ \    \
          /----/   \    \
         /----/     \    \
        /----/       \    \
       /----/         \    \
      /----/           \    \
     /----/             \    \
    /----/               \    \
   /----/                 \    \
  /----/                   \    \
 /----/                     \    \
/----/                       \    \

7
+1 কারণ আপনার ডিরেক্টরিতে থাকা স্ল্যাশগুলি পরীক্ষার আউটপুটে স্ল্যাশগুলির সাথে লাইন আপ। :D
ডিজেএমসিএমহেম

আপনার \golfingফোল্ডারটি অবশ্যই খুব ._.
সুবিন্যস্ত

6

পাইথন 2 - 79 76 75 বাইট

x=input()
for i in range(x):print(x-i)*' '+'/----/'+(i*'  '+'\\    \\')[5:]

আমার প্রোগ্রাম প্রিন্টটি আসলে 3 বাইট সংরক্ষণ করেছে তাই আমাকে "অযোগ্য" করার জন্য হুবার্ট গ্রাজেসকুইয়াকে ধন্যবাদ! আরও 1 টি বাইট সংরক্ষণের জন্য Eʀɪᴋ ᴛʜᴇ Gᴏʟғᴇʀ কেও ধন্যবাদ!


নিস! যাইহোক, ল্যাম্বদা ঠিক ছিল, আমি মনে করি, যেহেতু কঠোরভাবে বলা এটি এক ধরণের ফাংশন।
ল্যাম্বদা

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

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

চশমাটি বলে না যে ফাংশনটির নামকরণ করতে হবে, বা ডাকা হবে ;-)
হুবার্ট গ্রাজেসকুইক

একটি পূর্ণ প্রোগ্রাম বলা যায় এর রূপান্তরের: প্রতিস্থাপন def f(x):সঙ্গে x=input(), এবং দ্বিতীয় লাইনে খাঁজ মুছে ফেলুন। এটি আপনাকে 1 বাইট বাঁচায়।
এরিক আউটগল্ফার

6

ভিম, 71 কীস্ট্রোক

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

A@qyyPgg<c-v><c-v>GkI <c-v><esc>G$i  <c-v><esc><esc>
Tq"qDI/----/\^[lD@"ddh<c-v>god:%s/     \\/\\    \\<cr>

<c-v>, <esc>এবং <cr>সমস্ত স্বতন্ত্র কী-স্ট্রোক; সিআরটিএল + ভি, পালাবার এবং যথাক্রমে ক্যারেজ রিটার্ন (প্রবেশ)। সঠিক আক্ষরিক সহ একটি সাধারণ সংস্করণ হজম করার জন্য, ফাইলটি এখানে ladder.keysরান করা রয়েছে xxd:

00000000: 4140 7179 7950 6767 1616 476b 4920 161b  A@qyyPgg..GkI ..
00000010: 4724 6920 2016 1b1b 5471 2271 4449 2f2d  G$i  ...Tq"qDI/-
00000020: 2d2d 2d2f 5c1b 6c44 4022 6464 6816 676f  ---/\.lD@"ddh.go
00000030: 643a 2573 2f20 2020 2020 5c5c 2f5c 5c20  d:%s/     \\/\\
00000040: 2020 205c 5c0d 0d0a                         \\...

এটি চেষ্টা করার জন্য (উপযুক্ত সরঞ্জামগুলির সাহায্যে নিক্স ধরে) উপরের দিকটি নিন, এটি চালিয়ে xxd -rযান এবং ফাইলটিতে রাখুন ladder.keysladder.txtএটিতে একটি পূর্ণসংখ্যা সহ একটি ফাইল তৈরি করুন । তারপরে:

vim -s ladder.keys -u NONE ladder.txt

আমরা সাধারণত লিখতে ^Vযেমন <c-v>এখানে।
ফুটো নুন

@ জর্ডান এগুলি প্রতিটি কী-স্ট্রোক, পরিবর্তিত কী গণনা করা (শিফট, সিটিআরএল বা অন্য কোনও কী সহ Alt) একটি কীস্ট্রোক হিসাবে গণনা করা। কীস্ট্রোকগুলি হ'ল সিটিআরএল + ভি, পালাও এবং প্রবেশ করানো।
অ্যালগমির

@ অ্যালগমির আমার ভুল আমি আপনার উত্তরটি আগে ভুল লিখেছি।
জর্দান

6

বাশ, 61

for((;i<$1;)){ printf "%$[$1+i]s\    \^M%$[$1-++i]s/----/\n";}

^Mএকটি আক্ষরিক গাড়ী ফেরত যেখানে

$ ./ladder 1
/----/\
$ ./ladder 4
   /----/\
  /----/  \
 /----/    \
/----/ \    \
$ ./ladder 10
         /----/\
        /----/  \
       /----/    \
      /----/ \    \
     /----/   \    \
    /----/     \    \
   /----/       \    \
  /----/         \    \
 /----/           \    \
/----/             \    \

আমি মনে করি আপনার /4 র্থ সারিতে এবং `\` এর মধ্যে একটি একক স্থান এবং স্লাইড প্রান্তগুলির মধ্যে 1 কম স্থান থাকা উচিত।
লাইব্রুগ

এটি 4 ড্যাশ, না 5. হওয়া উচিত
algmyr

@algmyr তোমাকে ধন্যবাদ যে 2 বাইট সংরক্ষণ
izabera

5

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

f=
n=>" ".repeat(n).replace(/./g,"$'/$`$`\\    \\\n").replace(/\/...../g,"/----/")
;
<input type=number min=0 oninput=o.textContent=f(this.value)><pre id=o>

একটি স্প্রেসের স্ট্রিং নিয়ে কাজ করে n, তারপরে সমর্থন সহ স্লাইডটি পেতে কিছু বিদেশী বিকল্পের কাজ করে, তারপরে একটি মই দিয়ে সমর্থনটি প্রতিস্থাপন করে।


4

রুবি, 61 বাইট

->n{n.times{|i|puts"%*s\\    \\\r%*s----/"% [n+i,"",n-i,?/]}}

Ungolfed

->(num_rows) {
  num_rows.times {|row_idx|
    puts "%*s\\    \\\r%*s----/" % [ num_rows + row_idx, "", num_rows - row_idx, "/" ]
  }
}

আমি ফর্ম্যাট স্ট্রিংয়ের জন্য '%*s\ \^M%*s----/'(যেখানে ^Mআক্ষরিক ক্যারেজ রিটার্ন রয়েছে) ব্যবহার করে দুটি বাইট সংরক্ষণ করতে পারি , তবে রুবি সতর্কতাটি মুদ্রণ করে warning: encountered \r in middle of line, treated as a mere space"। ¯ \: _ (ツ): _ / ¯

পূর্ববর্তী সমাধান (by৪ বাইট)

->n{n.times{|i|puts" "*(n+i)+"\\    \\\r"+" "*(n-i-1)+"/----/"}}

3

ব্যাচ, 194 বাইট

@echo off
for /l %%i in (1,1,%1)do call:l %1 %%i
exit/b
:l
set s=\    \
for /l %%j in (1,1,%2)do call set s=  %%s%%
set s=/----/%s:~7%
for /l %%j in (%2,1,%1)do call set s= %%s%%
echo%s%

যুক্তিসঙ্গত সোজা হতে পরিণত হয়েছে: স্লাইডটি ইনডেন্ট করুন, প্রথম 7 টি অক্ষর মুছে ফেলুন, মই ইনডেন্ট করুন, শীর্ষস্থানটি সরিয়ে ফেলুন। এই শেষ বিট যদিও সামান্য কৌশল জড়িত!


2

জাভা, 116 বাইট

c->{for(int i=0;i<c;i++)System.out.format("%"+(5+c-i)+"s%"+(i<3?i*2+1:2*(i-2))+"s%5s\n","/----/","\\",i<3?"":"\\");};

দুর্ভাগ্যক্রমে, আপনি জাভাতে [সহজে] নকল স্ট্রিং করতে পারবেন না, তাই আমি বিন্যাসটির ফাংশনটি আপত্তিজনকভাবে শেষ করব।


2

স্কালা, 95 বাইট

def l(n:Int)=for(i<- 0 to n-1){println(" "*(n-i-1)+"/----/"+("  "*i+"\\    \\").substring(5))}

2

হাস্কেল, ৮১ বাইট

a n=[1..n]>>" "
f n=[1..n]>>=(\i->a(n-i)++"/----/"++drop 7(a(2*i)++"\\    \\\n"))

do i<-[1..n];a(n-i)++"/----/"++drop 7(a(2*i)++"\\ \\\n")দুটি বাইট সংরক্ষণ
লিন

0

eacal , নন-কেপটিং , 386 বাইট

init .
define @ curry push .
define ~ curry exec .--func
alias $ strap
alias ' string
set n set m cast number arg number 0
set s empty string
label l
@ get n
set n ~ dec
@ space
@ get n
$ ~ repeat
$ ' /----/
@ space
@ get m
@ get n
@ ~ sub
@ ~ dec
@ number 2
@ ~ mul
$ ~ repeat
$ ' \
$ newline
@ get n
@ number 0
if ~ more
goto l
@ $
@ regex gm '   ( {4})(?=.$)
@ '  \$1
print ~ replace

আমি আনুষ্ঠানিকভাবে সবচেয়ে ভার্জোজ ভাষা সম্ভব করে তুলেছি। আমি মন্তব্যটি ঠাট্টা-বিদ্রূপ করে এবং কটাক্ষ করেছিলাম। শান্ত করুন. শিরোনামে লিঙ্কযুক্ত গিথুব রেপোতে কীভাবে চালানো যায় সে সম্পর্কে নির্দেশাবলী।

Ungolfed

init .
set n set m cast number arg number 0
set s empty string
label loop
    push . get n
    set n exec .--func dec
    push . space
    push . get n
    strap exec .--func repeat
    strap string /----/
    push . space
    push . get m
    push . get n
    push . exec .--func sub
    push . exec .--func dec
    push . number 2
    push . exec .--func mul
    strap exec .--func repeat
    strap string \
    strap newline
    push . get n
    push . number 0
    if exec .--func more
        goto loop

push . strap
push . regex gm string   ( {4})(?=.$)
push . string  \$1
print exec .--func replace

1
" আমি আনুষ্ঠানিকভাবে সবচেয়ে ভার্বোজ ভাষা সম্ভব করে তুলেছি। " ক্ষমা করবেন, আপনি অ্যাপলস্ক্রিপ্ট শুনেছেন?
অ্যাডিসন ক্রম্প

@ ভিটিসিএকএভিএসমোকে ঠিক আছে, আসুন একটি চুক্তি করি। আপনি আপেলসক্রিপ্ট এই প্রশ্নের উত্তর। তারপরে আমি আপনাকে বলব এটি আরও ভার্জোজ।
কনর ও'ব্রায়ান

4
আপনি যথেষ্ট পরিমাণে যদি শব্দটি ব্যবহার করতে পারেন তবে এটি যথেষ্ট ভার্জোজ নয়।
নীল

@ ভিটিসি, টিমমিডি এবং নীল: গীজ। তুমি এখন খুশি?
কনর ও'ব্রায়ান

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