আমার অ্যান্ড্রয়েড ফোনটি আনলক করতে আমার কতটা সময় লাগবে?


12

দৃশ্যপট

আমি প্যাটার্ন মিলে যাওয়া লকস্ক্রিন ব্যবহার করছি এবং দুঃখের সাথে আমার প্যাটার্নটি ভুলে গিয়েছি। আমি এটি আনলক করতে আমার কতটা সময় প্রয়োজন তা জানতে চাই। এখানে গুগলের লক স্ক্রিনের বিশেষ উল্লেখ রয়েছে যা আমরা এই চ্যালেঞ্জের জন্য ব্যবহার করব।

  • প্রতি 5 টি ভুল কোড, ব্যবহারকারীকে 30 secondsআরও কোনও প্রবেশের আগে অপেক্ষা করতে হবে ।
  • একটি নিদর্শন অবশ্যই অন্তত অন্তর্ভুক্ত থাকতে হবে 4 points(নীচে দেখুন)

  • একটি পয়েন্ট কেবল একবার ব্যবহার করা যেতে পারে তবে আপনি এটি বেশ কয়েকবার যেতে পারেন (নীচের চিত্রটি দেখুন): wierd

এখানে, কেন্দ্র বিন্দুটি কেবল একবার ব্যবহার করা হয়, এমনকি যদি আমরা এই নির্দিষ্ট প্যাটার্নটির জন্য আবারও এটির উপরে যাই না।

হাইপোথিসিস এবং ফ্যাক্টস

আমরা ধরে নেব যে আমরা সুপারহিরো এবং আমরা যে কোনও প্যাটার্ন আঁকতে 1 secondপারি, আমাদের কখনই খাওয়ার বা ঘুমানোর দরকার নেই। হ্যাঁ, আমরা অতিমানব।

আমি খুব দুর্ভাগ্য ব্যক্তি। "সবচেয়ে খারাপ ক্ষেত্রে দৃশ্য" আমার দৈনন্দিন জীবন তাই আমি যে প্যাটার্নটি শেষ চেষ্টা করব তা সঠিক হবে।

আমরা pwn কি আছে?

যারা এটি জানেন না তাদের জন্য অ্যান্ড্রয়েড (এবং এখন অন্যান্য ফোনগুলি) 9-পয়েন্টের ম্যাট্রিক্সে একটি প্যাটার্ন আঁকার মাধ্যমে ফোনটি আনলক করার ক্ষমতা সরবরাহ করে। এই ম্যাট্রিক্স নিম্নলিখিত হিসাবে বর্ণনা করা যেতে পারে:

C(A)  M(B)  C(C)
M(D)  X(E)  M(F)
C(G)  M(H)  C(I)
  • সি "কর্নার পয়েন্ট" এর জন্য দাঁড়িয়ে
  • "মিডল পয়েন্ট" এর জন্য এম
  • "সেন্টার পয়েন্ট" এর জন্য এক্স
  • বিষয়টি সহজ করার জন্য আমি পয়েন্টগুলিতে শনাক্তকারীদের দিয়েছি

অনুমোদিত প্রত্যক্ষ সংযোগগুলি নিম্নরূপ:

কর্নার পয়েন্ট:

কোণ

মধ্য বিন্দু:

মধ্যম

কেন্দ্রবিন্দু :

কেন্দ্র

যাইহোক, স্টিভেভারিল দ্বারা নির্দেশিত হিসাবে, "একবার কেন্দ্রটি ব্যবহার করা হয়ে গেলে (এবং তাই অনুপলব্ধ হয়ে যায়) নীচে বাম এবং উপরের ডান কোণার মধ্যে একটি সরাসরি সংযোগ অস্পষ্ট হয়ে যায় এবং তাই সম্ভব"। একই প্রতিটি "মাঝারি পয়েন্ট" এর জন্য যায়, উদাহরণস্বরূপ, পয়েন্ট বি ইতিমধ্যে গণনা করা হয়েছে, তবে A এবং C এর মধ্যে সরাসরি সংযোগ সম্ভব। যদি উদাহরণস্বরূপ F ইতিমধ্যে গণনা করা হয়, তবে সি এবং আই এর মধ্যে সরাসরি সংযোগ সম্ভব। ইত্যাদি ...

বিধি

  • এই চ্যালেঞ্জের মূল বিষয়টি হ'ল কত সময় (মানুষের পাঠযোগ্য আকারে, ওরফে বছর / দিন / মাস / ঘন্টা / আপনি যে সময় খুঁজে পান) আমার এই জঘন্য ফোনটি আনলক করা দরকার।
  • আপনি সম্ভাব্য বৈধ নিদর্শনগুলির সংখ্যা হার্ডকোড করতে পারবেন না (এমনকি এটি গুগলও বানাবেন না), এটি গণনা করুন (এটি আসলে মজাদার অংশ, তাই না?)
  • সংক্ষিপ্ততম কোডের পিসটি জিতেছে
  • শুভকামনা!

2
আমার কাছে অ্যান্ড্রয়েড নেই তবে আমি উল্লেখ করতে চাই যে আপনার উদাহরণটি অনুমতিপ্রাপ্ত প্রত্যক্ষ সংযোগগুলি লঙ্ঘন করেছে। আমি অনুমান করছি যে একবার কেন্দ্রটি ব্যবহার করা হয়ে গেলে (এবং তাই অনুপলব্ধ হয়ে যায়) নীচে বাম এবং উপরের ডান কোণার মধ্যে একটি সরাসরি সংযোগ অস্পষ্ট হয়ে যায় এবং তাই সম্ভব।
স্তরের নদী সেন্ট

1
এই লক স্ক্রিনের ব্যবহারকারী হিসাবে, আমি প্রায় পুরোপুরি নিশ্চিত যে পর্যাপ্ত আঙুলের নির্ভুলতার সাথে আপনি যে কোনও দুটি অব্যবহৃত পয়েন্ট সংযোগ করতে পারেন।
.urous

4
@ অরৌস: কমপক্ষে আমার ফোনে, আপনি যদি আপনার আঙুলটিকে বিন্দুটির চারপাশে বিন্দুর সাথে সংযোগ স্থাপনের জন্য সরান, তবে বিন্দুটির মধ্যে বিন্দুটি sequোকানো হবে এবং যাইহোক ব্যবহৃত হিসাবে গণনা করা হবে।
ব্যবহারকারী 2357112 মনিকা 22

1
@ স্টিভেভারিল: আপনি ঠিক বলেছেন, আমি সে সম্পর্কে একটি টিপ যোগ করেছি। আমি আশা করি আপনি আপত্তি করবেন না আমি আপনাকে সরাসরি উদ্ধৃত করেছি, যেহেতু আমি ভেবেছিলাম এটি একটি ভাল ব্যাখ্যা।

1
"আপনি সম্ভাব্য বৈধ নিদর্শনগুলির সংখ্যা হার্ডকোড করতে পারবেন না" একটি পর্যবেক্ষণযোগ্য প্রয়োজনীয়তা নয়।
অ্যাডহক গার্ফ হান্টার

উত্তর:


2

রেব্মু : 197 175 168 অক্ষর

সংখ্যার একটি সিরিজ হিসাবে সংযোজনগুলি তৈরি করে (উদাহরণস্বরূপ, 12369 উপরে থেকে বাম থেকে নীচে-নীচে থেকে ডানদিকে ডানদিকে), সংমিশ্রণটি বৈধ কিনা তা পরীক্ষা করে এবং যদি এটি হয় তবে একটি পাল্টা বৃদ্ধি করে। এটি চালাতে কিছুটা সময় নিতে পারে । ফোনটি আনলক করতে প্রয়োজনীয় সেকেন্ডের সংখ্যাটি দেয়।

B[[2 13][4 17][6 39][8 79][5 19][5 28][5 37][5 46][a 0]]Fdz[Q1feCb[st[a]paStsC/1 Qa^Qa^e?NNfiAtsC/2 e?NNfiArvTSc/2]]rpJ987653088[StsADj1233iA^e?SuqSf[++K]]adKmp30dvK 5

আনমিশড এবং মন্তব্য করেছেন:

; for each subarray c: 
; the sequences c/2 and c/3 are invalid before the point c/1 is pressed
; a 0 - a is never in the sequence, therefore 0 is always invalid
b: [[2 13] [4 17] [6 39] [8 79] [5 19] [5 28] [5 37] [5 46] [a 0]]
; checks (most) conditions of validity
f: dz[
    ; set q to 1
    q: 1
    ; foreach array in b as c
    fe c b [
        ; set a to be portion of s before c/1
        st [a] pa s ts c/1
        ; q = q and (a does not contain c/2) and (a does not contain reverse of c/2)
        q: a^ q 
           a^ e? nn fi a ts c/2 
              e? nn fi a ts rv c/2
    ]
]
; repeat 98765308 times, with j = 1 to 98765308
; 987653088 = 987654321 (largest valid combination) - 1234 (smallest valid combination) + 1
rp j 987653088 [
    ; set s to j+1233 (smallest valid combination - 1) as a string
    s: ts ad j 1233 
    ; if f returns trues and s does not contain duplicates, increment k
    i a^ e? s uq s 
          f
     [++ k]
]
; print k (number of combinations) + 30 * (k/5) -> number of seconds needed
ad k mp 30 dv k 5

প্রোগ্রামটি 1 থেকে (987654321-1233) লুপ করে, 1233 + লুপের কাউন্টার পরীক্ষা করে (অতএব 1234 থেকে 987654321 চেক করছে)।

যদি নম্বরটি 987653088প্রতিস্থাপন করা হয়, 9876-1233বা 8643, তবে প্রোগ্রামটি সমস্ত 4-পয়েন্ট সংমিশ্রণের জন্য নেওয়া সময়টি খুঁজে পাবে।

9876-1233=8643(4-পয়েন্ট সংমিশ্রণ) এর জন্য আউটপুট :

>> rebmu %combinations.rebmu
== 11344

98765-1233=97532(4 এবং 5-পয়েন্ট সংমিশ্রণ) এর আউটপুট :

>> rebmu %combinations.rebmu
== 61426

আউটপুট 987654-1233=986421(4,5,6-পয়েন্ট সংমিশ্রণ):

>> rebmu %combinations.rebmu
== 243532

* 4/5-পয়েন্ট আমাকে চালাতে প্রায় 8 সেকেন্ড সময় নিয়েছিল; 4-6 প্রায় 77 সেকেন্ড সময় নিয়েছিল। 4-9 পয়েন্ট সংমিশ্রনের সংখ্যার সংখ্যার গণনা করতে কে এটি চালায় তার উপর নির্ভর করে 24 ঘন্টা বা তার বেশি সময় লাগতে পারে।

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