ঘন্টাঘড়ি চ্যালেঞ্জ


43

দ্য হারগ্লাস

এই ঘন্টাঘড়ি 60 টি "সময় বালি" আছে, এবং এটি প্রতিটি চেম্বার সম্পূর্ণরূপে পূরণ করে। ঘড়ির দৈর্ঘ্য 19 অক্ষর এবং উচ্চতা 13 অক্ষর। প্রতিটি চেম্বারে 5 সারি বালি থাকে এবং কেন্দ্রে একটি সারি থাকে যা 1 টি বালি রাখতে পারে। উপরের সারিতে 17 টি বালু, পরের 15 টি এবং আরও ধরে রাখা যাবে (নীচে দেখুন)। বালি নীচে চেম্বারে প্রতি সেকেন্ডে এক বালির হারে পড়ে।

       START                     3 SECONDS LATER               38 SECONDS LATER

███████████████████            ███████████████████            ███████████████████
█.................█   17       █..............   █   14       █                 █    0
██...............██   15       ██...............██   15       ██               ██    0
███.............███   13       ███.............███   13       ███.......      ███    7  
█████.........█████   09       █████.........█████   09       █████.........█████   09 
███████.....███████   05       ███████.....███████   05       ███████.....███████   05 
█████████.█████████   01       █████████.█████████   01       █████████.█████████   01 
███████     ███████            ███████  .  ███████            ███████  .  ███████  
█████         █████            █████    .    █████            █████    .    █████   
███             ███            ███      .      ███            ███....         ███
██               ██            ██               ██            ██...............██  
█                 █            █                 █            █.................█  
███████████████████            ███████████████████            ███████████████████   

চ্যালেঞ্জ

নির্দিষ্ট সময়ের (0 ≤ t ≤ 60) পরে ঘন্টাঘড়ি (কোনও সংখ্যা বা শিরোনাম প্রয়োজন হয় না) প্রদর্শন করুন।

কোডিং বিধি

  1. ঘড়ির গ্লাসটি এখানে দেখানো মতো দেখতে হবে। আপনি নিজের ভাষার সাথে (ইউনিকোড, এএসসিআইআই সামঞ্জস্যতার বিষয়গুলি) ফিট করতে চান এমন চরিত্র এবং / অথবা চরিত্রটিকে প্রতিস্থাপন .করতে পারেন।
  2. ইনপুটটি 45 বা 7 এর মতো একটি নম্বর হওয়া উচিত these এই অনেক সেকেন্ডের পরে ঘড়িটি প্রদর্শন করুন।
  3. আউটপুট হয় প্রদর্শিত বা একটি ফাইল সংরক্ষণ করা যেতে পারে। উপরে দেখানো হয়েছে এমন কোনও অতিরিক্ত পাঠ্য বা লেবেলগুলির প্রয়োজন নেই - কেবলমাত্র ঘড়ির কাচ আমাদের প্রয়োজন।
  4. যদি ব্যবহারকারী টি> 60 প্রবেশ করে, আপনার ত্রুটিটি পরিচালনা করতে হবে না।

পয়েন্ট

  1. সংক্ষিপ্ততম কোড জিতেছে।

আমি জানি না এটি কেবল আমার কিনা, তবে পোস্টের তুলনায় ঘন্টার চশমা সম্পাদকটিতে সম্পূর্ণ আলাদা দেখায়। এটি সম্ভবত কারণ █ অক্ষর সঠিক প্রস্থের সাথে প্রদর্শিত হয় না displayed
ডেনিস

1
বালির একটি দানা কি বর্তমান স্তরটিকে স্পর্শ করে, তারপরে এক সেকেন্ড পরে বামে সারিবদ্ধ হয়?
xnor

2
T == 59 এর আউটপুট কত হওয়া উচিত?
edc65

3
স্ট্যাক এক্সচেঞ্জ হট নেটওয়ার্ক প্রশ্নগুলির তালিকা তৈরির জন্য অভিনন্দন!
অ্যালেক্স এ।

1
এটি আসলে কোনও উত্তর নয়, কারণ এটি চশমাগুলি খাপ খায় না, তবে ডেসমোসে জমা দেওয়ার জন্য এখানে একবার দেখুন । (প্লে বোতামটি টিপুন এবং 0.1 1 ইউনিট / সেকেন্ডের জন্য গতি 0.15x এ সেট করুন)
কনর ও'ব্রায়েন

উত্তর:


27

জাভাস্ক্রিপ্ট ( ES6 ), 203 208 233 270 256 টি অক্ষর

কলগুলির ক্রমের পরিবর্তে একটি লুপ ব্যবহার করে সংশোধিত করুন

নিখোঁজ থাকা শীর্ষ এবং নীচের সারিটি সম্পাদনা করুন

আউটপুট ফেরত একটি ফাংশন। পরীক্ষার জন্য ফায়ারফক্সে স্নিপেট চালান।

f=w=>[h='█'[R='repeat'](19),...[17,15,13,9,5,1,5,9,13,15,17].map((d,i)=>(t=i>5?-v:v,v-=i<5?d:1-d,e=' '[R](d/2),b='█'[R](10-d/2),b+('.'[R](t<d&&d-t)+e+' .'[i>4&w>i-6&t>=d|0]+e).slice(0,d)+b),v=w),h].join`
`

// Less golfed
F=
w=>[h='█'.repeat(19),
    ... [17, 15, 13, 9, 5, 1, 5, 9, 13, 15, 17].map(
     (d,i) => (
       t = i>5 ? -v : v,
       v -= i<5 ? d : 1-d, 
       e = ' '.repeat(d / 2),
       b = '█'.repeat(10 - d / 2),
       b + 
        ('.'.repeat(t < d && d - t) 
         + e + ' .'[i > 4 & w > i-6 & t >= d | 0]
         + e).slice(0,d)
       + b
     ), v = w
    ),
    h].join('\n')

// TEST            

O.innerHTML=f(+I.value)

function tick(d) {
  var i=+I.value+d
  I.value=i
  O.innerHTML=f(i)
}

var int=0;

function auto()
{
  function go()
  {
    var t = I.value;
    O.innerHTML=f(++t)
    if (t>70)t=0;
    I.value = t;
  }
  if (A.checked && !int)
  { 
    int = setInterval(go, 200);
  }
  else if (!A.checked && int)
  {
    clearInterval(int);
    int = 0;
  }
}
input[type=text] { width: 3em }
<button onclick='tick(-1)'>-</button>
<input type=text id=I value=0 onchange='tick(0)' >
<button onclick='tick(1)'>+</button>
<input type=checkbox id=A onclick='auto()'>Fly time
<pre id=O><pre>


5
আমার কৌতূহলের জন্য, কেন এটিকে দু'বার নিম্নচাপ করা হয়েছিল? আমি এটি নিয়ে কোনও সমস্যা খুঁজে পাই না।
manatwork

এই উত্তর দুর্দান্ত ! এটি ফায়ারফক্সে খুলুন!
ক্রিশ্চিয়ান লুপাস্কু

1
উত্তম উত্তর, তবে ঘড়ির কাচের শীর্ষ এবং বেসটি অনুপস্থিত বলে মনে হচ্ছে।
রেনে লিডার

@ মান্যাটওয়ার্ক নিশ্চিত নয় (অবশ্যই) তবে আসলেই একটি ত্রুটি ছিল
edc65

দয়া করে একটি সেট অন্তর্ভুক্ত করুন (), জাভাস্ক্রিপ্ট এর জন্য দুর্দান্ত হবে:setTimeout( tick, 1000);
মার্টিজন

18

পাইথন 2, 200

t=input()+1
s=' '*t+'.'*60+' '*70
n=0
d=sum((1<t<56,2<t<48,3<t<36,4<t<22))
for c in'ctrplhdhlprtc':i=ord(c)-99;print[s[n+i:n:-1],[s[180-n-i+d:][:i],'.'][5+d*3>i>0]][n>59].center(i).center(19,'#');n+=i

xnor একটি করেছেন 197 বাইট সংস্করণ চ্যাটে

আমি একটি ব্যাখ্যা পোস্ট করব, তবে এটি আসলে কীভাবে কাজ করে তার ট্র্যাক আমি হারিয়ে ফেলেছি ...

এছাড়াও, এখানে অভিশাপ সহ একটি অ্যানিমেটেড সংস্করণ রয়েছে:

বালিঘড়ি

from curses import*
w=initscr()

for t in range(1,61):
    s=' '*t+'.'*60+' '*70
    n=0
    d=sum((1<t<56,2<t<48,3<t<36,4<t<22))
    for i in 0,17,15,13,9,5,1,5,9,13,15,17,0:w.addstr([s[n+i:n:-1],[s[180-n-i+d:][:i],'.'][5+d*3>i>0]][n>59].center(i).center(19,'#')+"\n");n+=i
    w.refresh()
    w.clear()
    napms(999)

endwin()

1
কুডোস, আপনি আমাকে আবিষ্কার করেছেন যে স্ট্রিংগুলির একটি কেন্দ্র রয়েছে () পদ্ধতি!
ডাইটার

13

পাইথন 2.7, 362 356 347

e,c,x,a,b,n=' .#ab\n';R,r,s,l,T,m=range,str.replace,'',19,[1,2,3,5,7,9],-1
for t in[T,T[:m][::m]]:s+=''.join([n+x*y+c*(l-y*2)+x*y for y in t]);c=b
s=list(s)
for i in R(130,220,20):s[i]=a
for _ in R(input()):s[s.index('.')]=e;i=s.index(a)if a in s else 219-s[::m].index(b);s[i]='.'
for l in(x*l+r(r(''.join(s),a,e),b,e)+n+x*l).split(n):print l[::m]

বালিঘড়ি

38 সেকেন্ডে আউটপুট:

###################
#                 #
##               ##
###.......      ###
#####.........#####
#######.....#######
#########.#########
#######  .  #######
#####    .    #####
###...   .      ###
##...............##
#.................#
###################

2
পাইথন কোডটি কী ধরণের? আমি তাদের মত কোড শিখতে চাই। দয়া করে সঠিক দিকনির্দেশ দিন।
রজত সাক্সেনা

1
আমি নিশ্চিত নই যে এটি একটি বৈধ উত্তর কিনা। তিনি 38 সেকেন্ডের জন্য তিনি যে উদাহরণটি দেখেন, আপনি দেখতে পাচ্ছেন যে সর্বনিম্ন বিন্দু যা এখনও পড়ছে সেগুলি বিন্দুগুলি বিন্যস্ত করার লাইনে নেই। (নীচে থেকে চতুর্থ লাইনে, কেন্দ্রে)
রোননডেক্স

3
@ রোননডেক্স: প্রশ্নের মন্তব্যে বর্ণিত হিসাবে, ফিলিং অর্ডারটি এতটা কঠোর নয় - আমার প্রয়োগটি বালিটির শস্যগুলি বামদিকে এমনভাবে আটকে দেয় যা প্রশ্ন থেকে কিছুটা পৃথক, তবে এখনও বৈধ
ডাইটার

3

সি 544

সি সমাধানের জন্য আমার এখন পর্যন্ত যা আছে তা এখানে।

#include <stdio.h>
int main(int z,char **a){int r,i,y=i=0,v,d,t,m,s=atoi(a[1]),n[13]={0,43,28,15,6,1,0,1,5,13,25,39,0};char H[13][20];while(y<13){int x,b=x=i=0;v=y-6;t=3+abs(v);m=2*abs(v);d=t<m?t:m;d=9-d;if(d==0)d=10;while (b<d){H[y][b]='#';H[y][18-b]='#';b++;}while(x<19-2*b){if(x<=s-n[y])H[y][x+b]=v>0?' ':'.';else H[y][x+b]=v>0?'.':' ';x++;}if(s>58)r=0;else if(s==58)r=1;else if(s==57)r=2;else if(s==56)r=3;else if(s>38)r=4;else if(s>24)r=3;else if(s>12)r=2;else if(s>4)r=1;while(i<r){H[7+i][9]='.';i++;}H[y][19]='\n';y++;}fputs(H,stdout);}

নিম্নলিখিত কমান্ড দিয়ে সংকলিত:

gcc -w -o hourglass hourglass.c  // I realize I should have cast H as a char *, but since it works this way, I just decided to suppress the error from the compiler instead to save space.

স্বীকারোক্তিজনকভাবে, এই ভাষার প্রচুর পরিমাণ রয়েছে - যার মধ্যে রয়েছে স্টেটমেন্টটি হ'ল একটি প্রতিবন্ধকতা ছিল যা ব্লকগুলি থেকে ঠিক বাইরে এসেছিল, তবে আমি সত্যিই কেবল সি ব্যবহার করে অনুশীলনের অজুহাত খুঁজছিলাম include

আমি আশা করি আপনি আমার সমাধানটি পছন্দ করেছেন এবং আপনি যদি উন্নতির উপায় দেখেন তবে আমাকে জানান।


2
উন্নতি করার অনেকগুলি উপায় রয়েছে, এটিকে আরও খারাপ সি তৈরি করে তবে আরও খাটো।
edc65

1
সংকেতগুলি: forপরিবর্তে where, ?:পরিবর্তে if else, গ্লোবাল int- এ ভেরিয়েবল প্রয়োজন হবে না int, includeপ্রয়োজন হয় না। (আমি আপনার গণিত পছন্দ করি)
edc65

1
317: r,i,y,x,b,d,n[]={0,43,28,15,6,1,0,1,5,13,25,39,0};char H[14][20];main(s,a)char**a;{for(s=atoi(a[1]);y<13;){b=x=i=0;d=abs(y-6);d+=3<d?3:d;d=9-d?9-d:10;r=s>55?59-s:s>38?4:s>24?3:s>12?2:s>4?1:r;for(;b<19;)H[y][b++]=35;for(;x<19-2*d;x++)H[y][x+d]=(x>s-n[y]?" .":". ")[y>6];for(;i<r;)H[7+i++][9]=46;H[y++][b]=10;}puts(H);}(সাবধান, অদ্ভুত অদৃশ্য চরগুলি এর মতো দীর্ঘ মন্তব্যগুলিতে যুক্ত করা হয়)
edc65

3

মতলব, 252 বাইট

ধারণাটি এমন একটি ম্যাট্রিক্স তৈরি করছে যা দেখতে এরকম দেখাচ্ছে:

0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0  17  16  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0
0   0  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18   0   0
0   0   0  45  44  43  42  41  40  39  38  37  36  35  34  33   0   0   0
0   0   0   0   0  54  53  52  51  50  49  48  47  46   0   0   0   0   0
0   0   0   0   0   0   0  59  58  57  56  55   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0  60   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0 116 117  61 118 119   0   0   0   0   0   0   0
0   0   0   0   0 108 109 110 111  62 112 113 114 115   0   0   0   0   0
0   0   0  96  97  98  99 100 101  63 102 103 104 105 106 107   0   0   0
0   0  82  83  84  85  86  87  88  64  89  90  91  92  93  94  95   0   0
0  66  67  68  69  70  71  72  73  65  74  75  76  77  78  79  80  81   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

সেখান থেকে উপর নির্ভর করে স্ট্রিংগুলির সাথে এন্ট্রিগুলি পূরণ করা সহজ n( বিন্দুর nচেয়ে বড় এবং ছোট সমস্ত এন্ট্রি পূরণ করা n+60)

function c=f(n);
b=zeros(13,19);
z=[0,17,32,45,54,59];
y=-2:3;
for k=2:6;
    d=k+sum(k>4:5);
    b(k,d:20-d)=z(k):-1:z(k-1)+1;
    b(14-k,d:19-d)=68+(z(k-1):z(k)-2)-k;
end;
b(8:12,11:19)=b(8:12,10:18);
b(7:12,10)=60:65;c=[ones(13,19)*32,''];
c(~b)='¶';c(n<b)=46;c(b>n+60)=32

n=38আমরা এই আউটপুট পেতে জন্য :

¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
¶                 ¶
¶¶               ¶¶
¶¶¶.......      ¶¶¶
¶¶¶¶¶.........¶¶¶¶¶
¶¶¶¶¶¶¶.....¶¶¶¶¶¶¶
¶¶¶¶¶¶¶¶¶.¶¶¶¶¶¶¶¶¶
¶¶¶¶¶¶¶  .  ¶¶¶¶¶¶¶
¶¶¶¶¶    .    ¶¶¶¶¶
¶¶¶...   .      ¶¶¶
¶¶...............¶¶
¶.................¶
¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶

2

জাভা, 712

কমান্ড লাইন থেকে ইনপুট নেওয়া হয়। সময়ের জন্য উভয় নেতিবাচক মান পাশাপাশি প্রয়োজনের চেয়ে বড় পরিচালনা করে।

enum H{;public static void main(String[]r){int x=0,y=0,z=0,l,t=Integer.parseInt(r[0]);String b="",d="█",e=" ",f=".",n="\n",j,k,a="███████████████████"+n;int[]w={17,15,13,9,5},v;int[][]h=new int[10][];for(;x<5;){l=w[x];v=(h[x++]=new int[l--]);l/=2;v[l]=++z;for(y=0;y++<l;){v[l-y]=++z;v[l+y]=++z;}}for(z=0;x>0;){l=w[--x];v=(h[9-x]=new int[l--]);v[l/2]=++z;}for(;x<5;){l=(w[x]-1)/2;v=h[9-x++];for(y=0;y++<l;){v[l-y]=++z;v[l+y]=++z;}}p(a);for(x=0;x<5;x++){l=w[x];j=b;for(y=0;y++*2<19-l;)j+=d;k=b;for(y=0;y<l;)k+=t<h[x][y++]?f:e;p(j+k+j+n);}j="█████████";p(j+f+j+n);for(;x>0;){l=w[--x];j=b;for(y=0;y++*2<19-l;)j+=d;k=b;for(y=0;y<l;)k+=t<h[9-x][y++]?e:f;p(j+k+j+n);}p(a);}static void p(String s){System.out.print(s);}}

আউটপুট:

time: 0
███████████████████
█.................█
██...............██
███.............███
█████.........█████
███████.....███████
█████████.█████████
███████     ███████
█████         █████
███             ███
██               ██
█                 █
███████████████████

time: 1
███████████████████
█........ ........█
██...............██
███.............███
█████.........█████
███████.....███████
█████████.█████████
███████  .  ███████
█████         █████
███             ███
██               ██
█                 █
███████████████████

time: 9
███████████████████
█....         ....█
██...............██
███.............███
█████.........█████
███████.....███████
█████████.█████████
███████  .  ███████
█████    .    █████
███      .      ███
██       .       ██
█      .....      █
███████████████████

time: 41
███████████████████
█                 █
██               ██
███..         ..███
█████.........█████
███████.....███████
█████████.█████████
███████  .  ███████
█████    .    █████
███   .......   ███
██...............██
█.................█
███████████████████

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


2

হাস্কেল 512 বাইট

h=[17,15,13,9,5,1];b=drop 1$reverse h;n#s=[1..n]>>[s];s='.';n =' ';c q=(q#n)++(60-q)#s;f q|q<=5=q#s|3>2=g#s where{g=foldl i 5 (scanl (+) 0 h);i x y=if q>x+y then x-1 else x};e q=j#s++(59-length(k q)-(j))#n where{j=q-length(f q)};l q=c q++k q++(reverse$e q);p _ []=[];p x y=reverse(z++take q x++z):p (drop (head y) x) (tail y)where{q=head y;z=replicate(div (19-q) 2) '|'};k q= (concat.map(\x -> z x ++ "." ++ z x).take (length.f$q)$b)where{z x=(div x 2)#n};m n=mapM_ putStrLn $ t ++ p (l n) (h++b) ++ t;t=[19#'|'] 

ইনপুট m 55

আউটপুট

|||||||||||||||||||
|                 |
||               ||
|||             |||
|||||         |||||
|||||||.... |||||||
|||||||||.|||||||||
|||||||  .  |||||||
|||||.........|||||
|||.............|||
||...............||
|.................|
|||||||||||||||||||

ইনপুট m 48 আউটপুট

    |||||||||||||||||||
    |                 |
    ||               ||
    |||             |||
    |||||......   |||||
    |||||||.....|||||||
    |||||||||.|||||||||
    |||||||  .  |||||||
    |||||..       |||||
    |||.............|||
    ||...............||
    |.................|
    |||||||||||||||||||

1
পিপিসিজিতে আপনাকে স্বাগতম! আমি দেখতে পাচ্ছি আপনি ইতিমধ্যে এটি বেশ খানিকটা গল্ফ করেছেন, তবে এখনও অনেক অপ্রয়োজনীয় সাদা জায়গা বাকি আছে, যেমন। পার্শ্ববর্তী ++। এছাড়াও আপনি পূর্বনির্ধারিত করে lengthএবং কিছু বাইট সংরক্ষণ করতে পারেন reverse
লাইকনি

1

সি #, 382 410

এটি এখনও কয়েক বাইট দ্বারা এটি হ্রাস করা সম্ভব হতে পারে ...

class Program{static void Main(){int u=60-22,d=u,i,j,k,l,m;var c=new char[260];var r=new int[]{0,17,15,13,9,5,1,5,9,13,15,17,0,54,45,32,17,0};for(i=0;i<13;){m=0;l=(19-r[i])/2-1;for(j=19;j>=0;){k=i*20+j--;var b=j>=l&&j<r[i]+l;if(i>6&b)c[k-r[i]+m++ +m]=r[i+6]<d&&d-->0||j==8&r[i+6]>d&&d-->0?'.':' ';else c[k]=i<7&b?u-->1?' ':'.':'█';}c[++i*20-1]='\n';}System.Console.WriteLine(c);}}

ফিডলার - 38 সেক


শান্ত! এটি কীভাবে ইনপুট নেয়?
isaacg

@ আইস্যাক, ওফস, আমি আজ এটি ঠিক করব, আমি জানতাম এটি এসি # সলিউশনের জন্য খুব সংক্ষিপ্ত ছিল :-) আপাতত ইউ = 60-22 কে অন্য কোনও কিছুতে পরিবর্তন করুন
ফ্রেডৌ

আপনি কেন ব্যবহার করছেন int u=60-22এবং শুধু int u=38??
দেব-মসিহ

1

রুবি: 196 190 186 185 184 টি অক্ষর

u=[0,17,15,13,9,5].map{|i|(?.*i).center 19,?#}*$/
(?1..$*[0]).map{u[?.]=' '}
l=u.reverse
5.times{|i|l[p=i*20+9]==?.&&l[' ']&&(l[p]=?|)&&l[' ']=?.}
puts u,?#*9+?.+?#*9,l.tr('. | ',' .')

সিডব্লিউ কারণ পোস্ট করা নমুনাগুলির সাথে ঠিকঠাক অনুসারে নয় কারণ এটি বাম থেকে শুরু করে বালি গ্রহণ করে। বেশিরভাগ ক্ষেত্রে কেবল String.[]=পদ্ধতির প্রদর্শন ration

নমুনা রান:

bash-4.3$ ruby hg.rb 38
###################
#                 #
##               ##
###      .......###
#####.........#####
#######.....#######
#########.#########
#######  .  #######
#####    .    #####
###      .   ...###
##...............##
#.................#
###################

রুবি: 215 টি অক্ষর

এটি সঠিক প্রয়োজনীয় আউটপুট উত্পন্ন করে:

u=[0,17,15,13,9,5].map{|i|(?.*i).center 19,?#}*$/
(?1..$*[0]).map{u[?.]=' '}
l=u.reverse
5.times{|i|l[p=i*20+9]==?.&&l[' ']&&(l[p]=?|)&&l[' ']=?.}
puts ([u,?#*9+?.+?#*9,l.tr('. | ',' .')]*$/).split($/).map &:reverse

নমুনা রান:

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