Skip to main content

[ UVa ] 11690 - Money Matters

  • এই সমস্যা তে আমাদের ফ্রেন্ডদের মাঝে যতগুলি আলাদা আলাদা গ্রুপ আছে সেই গ্রুপ গুলোর সবগুলির যোগফল যদি আলাদা আলাদা ভাবে শূন্য হয় তবে POSSIBLE প্রিন্ট করেত হবে । না হলে IMPOSSIBLE প্রিন্ট করত হবে । 
  • যেমন ধরে নিলাম আমাদের ৪ টা ফ্রেন্ডেদের গ্রুপ আছে এবং প্রত্যেক গ্রুপে ২/৩ জন করে ফ্রেন্ড আছে । এখন যদি এই ৪ টা গ্রুপের Individually খরচ এর যোগফল যদি শূন্য হয় তবেই কেবল  POSSIBLE হবে । 
  • যদি m = 0 হয় এবং সবার খরচ যদি ০ হয় তবে কিন্তু POSSIBLE প্রিন্ট করতে হবে :) 
কোড :
/**
* Problem : 11690 - Money Matters
* Verdict : Accepted.
* Time : 0.070 ms.
* Writer : Mehadi Hasan Menon.
* Date : 29.12.16.
**/
#include <iostream>
#include <cstdio>
using namespace std;
const int mx = 10005;
int parent[mx];
int cost[mx];
int total_cost;
int find_rep(int r)
{
if(parent[r] == r) {
return r;
}
parent[r] = find_rep(parent[r]);
return parent[r];
}
void union_ab(int a, int b)
{
int u = find_rep(a); int v = find_rep(b);
if(u != v)
{
parent[v] = u;
cost[u] += cost[v];
total_cost = cost[u];
}
}
int main()
{
freopen("input.txt", "r+", stdin);
int tc, n, m, x, y;
int c;
scanf("%d", &tc);
for(int i = 0; i < tc; i++)
{
scanf("%d %d", &n, &m);
int cnt = 0;
// initialize set.
for(int j = 0; j < n; j++) {
scanf("%d", &c);
if(c == 0) {
cnt += 1;
}
parent[j] = j;
cost[j] = c;
}
if(cnt == n && m == 0) {
printf("POSSIBLE\n");
continue;
}
total_cost = 0;
for(int j = 0; j < m; j++) {
scanf("%d %d", &x, &y);
union_ab(x, y);
}
if(total_cost == 0) {
printf("POSSIBLE\n");
}
else {
printf("IMPOSSIBLE\n");
}
}
return 0;
}
view raw 11690.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