বিজোড় গোপন ক্ষমতাগুলির সাথে একটি অ্যারের যুদ্ধ


11

এখানে তুলনামূলকভাবে সহজ দুটি মাত্রিক অ্যারে চ্যালেঞ্জ।

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

বিধি

একটি 25 x 25 পূর্ণসংখ্যার অ্যারে দেওয়া হয়েছে যেখানে প্রতিটি উপাদানটিতে তার এক্স এবং y পজিশন 1 এবং 1 এর গুণাবলী থাকে, প্রতিটি "বিজয়ী" বিজোড় উপাদানটির স্থানাঙ্কগুলি ফিরে পান যা নিম্নলিখিত মানদণ্ডগুলি পূরণ করে:

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

জমাগুলি কোনও ফাংশন বা সম্পূর্ণ প্রোগ্রাম হতে পারে যার জন্য একটি একক ইনপুট প্রয়োজন। আউটপুট যে কোনও ক্রমে হতে পারে।

আমাদের 25 x 25 অ্যারে, রণক্ষেত্রটি দেখতে এমন দেখাচ্ছে:

1, 1, 1, 1,...
1, 2, 3, 4,...
1, 3, 5, 7,...
1, 4, 7, 10,...
etc.

উদাহরণ

এখানে একটি 3 এক্স 3 উদাহরণ রয়েছে:

43, 57, 71
46, 61, 76
49, 65, 81

কোনও উপাদান (in১, কেন্দ্রে) জয়ী হয় তা নির্ধারণ করার জন্য, আমরা এর মান এবং সংলগ্ন বিজোড় উপাদানগুলির যোগফল নির্ধারণ করি।

61 + 57 + 65 = 183

যদি ইনপুট দ্বারা মোট বিভাজ্য হয় তবে উপাদানটির x এবং y অবস্থান মুদ্রিত হবে। যদি আমাদের ইনপুটটি 3 হয়, কারণ 183 3 দ্বারা বিভাজ্য, "1, 1" মুদ্রিত হবে।

আউটপুট

যদি ইনপুট (গোপন ক্ষমতার নম্বর) 37 হয়, তবে ফিরে আসা উপাদানগুলি (বিজয়ী সৈন্যদের প্রশংসিত হতে হবে) অবশ্যই হবে:

2, 18
3, 12
4, 9
5, 22
6, 6
8, 23
9, 4
10, 11
11, 10
12, 3
18, 2
22, 5
23, 8

যদি ইনপুটটি 191 হয় তবে ফিরে আসা উপাদানগুলি হ'ল:

10, 19
19, 10

3 এর একটি ইনপুট:

1, 2
1, 4
1, 6
1, 8
1, 10
1, 12
1, 14
1, 16
1, 18
1, 20
1, 22
2, 1
2, 3
2, 4
2, 5
2, 7
2, 9
2, 10
2, 11
2, 13
2, 15
2, 16
2, 17
2, 19
2, 21
2, 22
2, 23
3, 2
3, 4
3, 6
3, 8
3, 10
3, 12
3, 14
3, 16
3, 18
3, 20
3, 22
4, 1
4, 2
4, 3
4, 5
4, 7
4, 8
4, 9
4, 11
4, 13
4, 14
4, 15
4, 17
4, 19
4, 20
4, 21
4, 23
5, 2
5, 4
5, 6
5, 8
5, 10
5, 12
5, 14
5, 16
5, 18
5, 20
5, 22
6, 1
6, 3
6, 5
6, 7
6, 9
6, 11
6, 13
6, 15
6, 17
6, 19
6, 21
6, 23
7, 2
7, 4
7, 6
7, 8
7, 10
7, 12
7, 14
7, 16
7, 18
7, 20
7, 22
8, 1
8, 3
8, 4
8, 5
8, 7
8, 9
8, 10
8, 11
8, 13
8, 15
8, 16
8, 17
8, 19
8, 21
8, 22
8, 23
9, 2
9, 4
9, 6
9, 8
9, 10
9, 12
9, 14
9, 16
9, 18
9, 20
9, 22
10, 1
10, 2
10, 3
10, 5
10, 7
10, 8
10, 9
10, 11
10, 13
10, 14
10, 15
10, 17
10, 19
10, 20
10, 21
10, 23
11, 2
11, 4
11, 6
11, 8
11, 10
11, 12
11, 14
11, 16
11, 18
11, 20
11, 22
12, 1
12, 3
12, 5
12, 7
12, 9
12, 11
12, 13
12, 15
12, 17
12, 19
12, 21
12, 23
13, 2
13, 4
13, 6
13, 8
13, 10
13, 12
13, 14
13, 16
13, 18
13, 20
13, 22
14, 1
14, 3
14, 4
14, 5
14, 7
14, 9
14, 10
14, 11
14, 13
14, 15
14, 16
14, 17
14, 19
14, 21
14, 22
14, 23
15, 2
15, 4
15, 6
15, 8
15, 10
15, 12
15, 14
15, 16
15, 18
15, 20
15, 22
16, 1
16, 2
16, 3
16, 5
16, 7
16, 8
16, 9
16, 11
16, 13
16, 14
16, 15
16, 17
16, 19
16, 20
16, 21
16, 23
17, 2
17, 4
17, 6
17, 8
17, 10
17, 12
17, 14
17, 16
17, 18
17, 20
17, 22
18, 1
18, 3
18, 5
18, 7
18, 9
18, 11
18, 13
18, 15
18, 17
18, 19
18, 21
18, 23
19, 2
19, 4
19, 6
19, 8
19, 10
19, 12
19, 14
19, 16
19, 18
19, 20
19, 22
20, 1
20, 3
20, 4
20, 5
20, 7
20, 9
20, 10
20, 11
20, 13
20, 15
20, 16
20, 17
20, 19
20, 21
20, 22
20, 23
21, 2
21, 4
21, 6
21, 8
21, 10
21, 12
21, 14
21, 16
21, 18
21, 20
21, 22
22, 1
22, 2
22, 3
22, 5
22, 7
22, 8
22, 9
22, 11
22, 13
22, 14
22, 15
22, 17
22, 19
22, 20
22, 21
22, 23
23, 2
23, 4
23, 6
23, 8
23, 10
23, 12
23, 14
23, 16
23, 18
23, 20
23, 22

5 এর ইনপুট:

1, 4
1, 14
2, 2
2, 4
2, 6
2, 7
2, 8
2, 10
2, 12
2, 14
2, 16
2, 17
2, 18
2, 20
2, 22
3, 8
3, 18
4, 1
4, 2
4, 4
4, 6
4, 8
4, 10
4, 11
4, 12
4, 14
4, 16
4, 18
4, 20
4, 21
4, 22
6, 2
6, 4
6, 6
6, 8
6, 9
6, 10
6, 12
6, 14
6, 16
6, 18
6, 19
6, 20
6, 22
7, 2
7, 12
7, 22
8, 2
8, 3
8, 4
8, 6
8, 8
8, 10
8, 12
8, 13
8, 14
8, 16
8, 18
8, 20
8, 22
8, 23
9, 6
9, 16
10, 2
10, 4
10, 6
10, 8
10, 10
10, 12
10, 14
10, 16
10, 18
10, 20
10, 22
11, 4
11, 14
12, 2
12, 4
12, 6
12, 7
12, 8
12, 10
12, 12
12, 14
12, 16
12, 17
12, 18
12, 20
12, 22
13, 8
13, 18
14, 1
14, 2
14, 4
14, 6
14, 8
14, 10
14, 11
14, 12
14, 14
14, 16
14, 18
14, 20
14, 21
14, 22
16, 2
16, 4
16, 6
16, 8
16, 9
16, 10
16, 12
16, 14
16, 16
16, 18
16, 19
16, 20
16, 22
17, 2
17, 12
17, 22
18, 2
18, 3
18, 4
18, 6
18, 8
18, 10
18, 12
18, 13
18, 14
18, 16
18, 18
18, 20
18, 22
18, 23
19, 6
19, 16
20, 2
20, 4
20, 6
20, 8
20, 10
20, 12
20, 14
20, 16
20, 18
20, 20
20, 22
21, 4
21, 14
22, 2
22, 4
22, 6
22, 7
22, 8
22, 10
22, 12
22, 14
22, 16
22, 17
22, 18
22, 20
22, 22
23, 8
23, 18

এই মানক লুফোলগুলি ব্যবহার না করে সর্বনিম্ন বাইট-কাউন্ট কোডটি হ'ল বিজয়ী।

এটি আমার প্রথম জমা হিসাবে, যে কোনও পরামর্শের প্রশংসা করা হয়। ধন্যবাদ!


আমি একটি বাচ্চা সম্পর্কে বিভ্রান্ত একটি 25 এক্স 25 পূর্ণসংখ্যা অ্যারের দেওয়া । আমাদের সাবমিশনগুলি এই তালিকা তৈরি করা উচিত বা এটি আসলে ইনপুটটিতে দেওয়া হয়?
— মিঃ এক্সকোডার

শুধুমাত্র আউটপুট গুরুত্বপূর্ণ। আসল অ্যারে তৈরি করা alচ্ছিক।
— পান্ডাজিক

"625 ফুট সৈন্যের একটি যুদ্ধক্ষেত্রের কল্পনা করুন" ডানদিকে। লম্বা। O_o
— Chronocidal

উত্তর:


3

জাভাস্ক্রিপ্ট (ES6),  83 81 80  76 বাইট

আউটপুটটি স্থানাঙ্কগুলির একটি স্থান-বিস্মৃত স্ট্রিং এক্স,Y।

f=(n,x=y=23,k=5,v=x*y)=>y?(v&1|~v*k%n?[]:[x,y]+' ')+f(n,--x||23|!y--,k^6):[]

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

কিভাবে?

দিন গএক্স,Y=এক্সY+ +1 অবস্থিত ঘরের মান হতে হবে (এক্স,Y)।

যেহেতু প্রান্তের কক্ষগুলি হিসাবরক্ষক নয়, আমরা ধরে নিই 0<এক্স<24 এবং 0<Y<24।

গএক্স,Y হয় যদি বিজোড় হয় এক্স অথবা Y সমান (বা উভয়)

যদি এক্স অদ্ভুত, তারপর গএক্স-1,Y এবং গএক্স+ +1,Yবিজোড় হয়। তবে সেই ক্ষেত্রে,Y অবশ্যই সমান হতে হবে, এবং যেমন হয় গএক্স,Y-1 এবং গএক্স,Y+ +1। ঘরের যোগফল এবং এর চারপাশের বিজোড় প্রতিবেশী হ'ল:

গুলিএক্স,Y=গএক্স,Y+ +গএক্স-1,Y+ +গএক্স+ +1,Y=3গএক্স,Y

একইভাবে, যদি Y বিজোড়:

গুলিএক্স,Y=গএক্স,Y+ +গএক্স,Y-1+ +গএক্স,Y+ +1=3গএক্স,Y

যদি উভয় এক্স এবং Y সমতুল্য, পার্শ্ববর্তী সমস্ত প্রতিবেশী বিজোড়

গুলিএক্স,Y=গএক্স,Y+ +গএক্স-1,Y+ +গএক্স+ +1,Y+ +গএক্স,Y-1+ +গএক্স,Y+ +1=5গএক্স,Y

এই গুণক (3 অথবা 5) নামকরণ করা হয় ট জেএস কোডে।

মন্তব্য

f = (                // f is a recursive function taking:
  n,                 //   n      = input
  x = y = 23,        //   (x, y) = current coordinates, starting at (23, 23)
  k = 5,             //   k      = multiplier (3 or 5)
  v = x * y          //   v      = x * y (value of the current cell - 1)
) =>                 //
  y ?                // if y is greater than 0:
    ( v & 1 |        //   if v is odd (meaning that v + 1 is not)
      ~v * k % n ?   //   or n is not a divisor of -(v + 1) * k:
        []           //     append nothing
      :              //   else:
        [x, y] + ' ' //     append the coordinates followed by a space
    ) +              //
    f(               //   append the result of a recursive call:
      n,             //     pass n unchanged
      --x ||         //     decrement x; if the result is 0:
        23 | !y--,   //       pass 23 instead and decrement y
      k ^ 6          //     update k (5 -> 3 -> 5 -> ...)
    )                //   end of recursive call
  :                  // else:
    []               //   stop recursion

অন্তর্দৃষ্টিপূর্ণ ব্যাখ্যা জন্য ধন্যবাদ। চতুর একটি বিটওয়াইস এক্সওআর ব্যবহার করে গুণকগুলির মধ্যে ফ্লিপ করতে।
— পান্ডাজিক

3

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 97 93 91 90 বাইট

x=>{for(int i=0,d=0,j;++i<24;d=5)for(j=0;++j<24;d^=6)if(i*j%2+(i*j+1)*d%x<1)Print((i,j));}

কেভেন ক্রুইজসেনকে 6 বাইট সংরক্ষিত!

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


int i=0; ... int j=0;-4 বাইট জন্য হতে পারে int i=0,j; ... j=0;এবং <1&হতে পারে +।
— কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন ইন্টের ঘোষণার জন্য, আমার ফাংশনটিকে অন্য পদ্ধতিতে পরিবর্তন না করা, তারপরে এটিকে ফিরিয়ে না দেওয়া পর্যন্ত প্রাথমিকভাবে আমার এটি ছিল। +এক চমৎকার যদিও, ধন্যবাদ
— অজ্ঞতা প্রতিমূর্তি

আরেকটি -2 প্রতিস্থাপন ((i+j)%2>0?3:5)সঙ্গে(5-(i+j)%2*2)
— কেভিন Cruijssen

2

স্ট্যাক্স , 25 বাইট

âÖÅ{┼îÄï$εS╢,σδXú(Γ°#↑√nG

এটি চালান এবং এটি ডিবাগ করুন

এটি একটি প্রান্তিক চৌকস পর্যবেক্ষণ সহ বেশিরভাগই কেবল নিষ্ঠুর শক্তি। সমস্ত বিজোড় সৈন্যের হয় 2 বা 4 বিজোড় প্রতিবেশী। এবং এই যোগফলের মোট সোল্ডারের মোট যোগফল হয় 3pবা 5pযেখানে isp সৈনিকের শক্তি। সহগ (3 বা 5) নির্ধারণ করা যেতে পারে gcd(2, x, y) * 2 + 1)কোথায় xএবং yসৈনিকের স্থানাঙ্ক রয়েছে।




1

জেলি , 22 বাইট

23×þ`‘µḤḤÐeÐe+×Ḃ³ḍaƊŒṪ

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

একটি সম্পূর্ণ প্রোগ্রাম যা একটি একক যুক্তি, গোপন শক্তি সংখ্যা এবং নিখুঁতভাবে জোড়গুলির একটি তালিকা মুদ্রণ করে [x, y]। অন্যরা প্রায় 3 এবং 5 এর গুণকগুলি পর্যবেক্ষণ ব্যবহার করে।


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