Skip to main content

[ UVa ] 11488 - Hyper Prefix Sets

  • আমাদের প্রথম ইনপুট দেয়া আছে { 0000, 0001, 10101, 010 } . এই সেটের প্রথম ২ টা থেকে ৩ টা করে নিলে আমরা যে Prefix পাব সেটাই আমাদের Prefix goodness . কারণ । ৩ * ২ = ৬ । 
  • Prefix Tree ব্যবহার করলে খুব সহজেই এই সমস্যা সমাধান করা যায় ।
কোড :
/**
* Problem : 11488 - Hyper Prefix Sets.
* Verdict : Accepted.
* Writer : Mehadi Hasan Menon.
* Time : 0.090
**/
#include <iostream>
using namespace std;
struct Node {
long long int _end;
Node *next[3];
Node() {
for(int i = 0; i < 3; i++) {
next[i] = nullptr;
_end = 0;
}
}
};
Node *root;
long long int ans;
void Insert(char *s)
{
Node *curr = root;
int id;
for(int i = 0; s[i]; i++)
{
id = s[i] - '0';
if(curr->next[id] == nullptr) {
curr->next[id] = new Node();
}
curr = curr->next[id];
curr->_end = curr->_end + 1;
ans = max(ans, curr->_end * (i + 1));
}
}
int main()
{
freopen("input.txt", "r+", stdin);
int n, tc;
char str[201];
scanf("%d", &tc);
while(tc--)
{
root = new Node();
scanf("%d", &n);
getchar();
for(int i = 0; i < n; i++)
{
scanf("%s", str);
Insert(str);
}
printf("%lld\n", ans);
ans = 0;
}
return 0;
}
view raw 11488.cpp hosted with ❤ by GitHub

Comments

Popular posts from this blog

উবুন্টুতে রুট পাসওয়ার্ড ভুলে তা রিকভার করার উপায় ।

যদি কেউ রুট পাসওয়ার্ড ভুলে যান তাহলে নিচের কাজ গুলো করে নতুন পাসওয়ার্ড সেট করতে পারবেন: প্রথমে পিসি রিস্টার্ট দিন । দিয়ে UP/DOWN করে kernel version সিলেক্ট করে e চাপুন । ব্ল্যাক Screen আসবে এবার একটা Space দিয়ে লিখুন “Single” [ Enter ] এরপর b চাপুন ফলাফল : লিনাক্সের Single user Mood এ চলে আসছেন । এখন লিখুন passwd root [ Enter ] এখন নতুন পাসওয়ার্ড খানা টাইপ করেন [ এন্টার ] আবার টাইপ করেন [ এন্টার ] কাজ শেষ , এবার reboot টাইপ করেন । এখন নতুন পাসওয়ার্ড দিয়ে লগইন করেন। পুনশ্চ : যদি আপনার উইন্ডোজ এর সাথে ডুয়েল বুট করা থাকে তবে এই প্রক্রিয়া কাজ করবে না ।

Fix The BIOS in this system is not fully ACPI compliant in Windows 7

এই সমস্যা সমাধান করার জন্য আপনি নিচের ধাপ গুলো অনুসরণ করুন। ধাপ ১ :  আপানর  কম্পিউটার এ উইন্ডোজ এর ডিস্ক থেকে বুট করুন । নীচের মত উইন্ডো আসলে Shift + F10 চাপুন । এর ফলে কমান্ড প্রম্প্ট ওপেন হবে। ধাপ ২ : এখন CMD তে নিচের কমান্ড গুলি ধারবাহিক ভাবে লিখুন C: bootrec /FixMbr bootrec /FixBoot bootrec /RebuildBcd exit  এখানে  C হলো যে ড্রাইভ এ উইন্ডোজ দেয়া আছে।  আপনার যদি অন্য কোনো ড্রাইভ ( D, E, F, ..... ) এ উইন্ডোজ দেয়া থাকে তবে আপনাকে C এর জায়গায় সেই ড্রাইভ এর নাম লিখতে হবে।  উপরের সব কমান্ড যদি সঠিক ভাবে বিল্ড হয় তবে আপনি আপনার কম্পিউটার রিস্টার্ট দিন।  দেখবেন আপনার সমস্যা সমাধান হয়ে গেছে :D