Skip to main content

[ UVa ] 11463 - Commandos

  • এই সমস্যা টা মিনি-ম্যাক্স টাইপের সমস্যা । 
  • এই সমস্যা সমাধান করার জন্য প্রথমে আমাদের কে প্রত্যেক বিল্ডিং থেকে প্রত্যেক বিল্ডিং এ যাওয়ার মিনিমাম পাথ বের করতে হবে এই জন্য আমরা Floyd Warshall ব্যবহার করতে পারি । 
  • এর পর আমাদের কে যে source ও destination দেয়া থাকবে । 
  • আমরা প্রত্যেক বার source থেকে i হয়ে destination এ যেতে চেষ্টা করবে । যদি আমরা যতগুলি i ব্যবহার করে আমাদের লক্ষ্যে যেতে পারব তাদের মধ্যে যেটা ম্যাক্সিমাম সেটাই আমাদের কে প্রিন্ট করতে হবে ।  
কোড :
/**
* Problem : 11463 - Commandos.
* Verdict : Accepted.
* Writer : Mehadi Hasan Menon.
* Time : 0.010 ms.
***/
#include <iostream>
using namespace std;
const int mx = 105;
const int inf = 1000007;
int quarter[mx][mx];
void floyd(int n)
{
for(int k = 0; k < n; k++)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
quarter[i][j] = min(quarter[i][j], quarter[i][k] + quarter[k][j]);
}
}
}
}
int main()
{
freopen("input.txt", "r+", stdin);
int tc, n, r;
scanf("%d", &tc);
for(int t = 1; t <= tc; t++)
{
scanf("%d %d", &n, &r);
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
quarter[i][j] = quarter[j][i] = inf;
if(i == j) {
quarter[i][j] = 0;
}
}
}
int u, v;
for(int i = 0; i < r; i++)
{
scanf("%d %d", &u, &v);
quarter[u][v] = quarter[v][u] = 1;
}
floyd(n);
int ans = 0;
scanf("%d %d\n", &u, &v);
for(int i = 0; i < n; i++)
{
if(quarter[u][i] != inf && quarter[i][v] != inf) {
ans = max(ans, quarter[u][i] + quarter[i][v]);
}
}
printf("Case %d: %d\n", t, ans);
}
return 0;
}
view raw 11463.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