কম্পিউটার

কোডিং প্রতিযোগিতার পরে শিক্ষার্থীদের অবস্থান খুঁজে পেতে C++ কোড


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে। একটি কোডিং প্রতিযোগিতায়, মোট n শিক্ষার্থীরা অংশগ্রহণ করবে এবং শুরুর আগে তাদের প্রত্যেকেরই কিছু ইতিবাচক রেটিং (পূর্ণসংখ্যা) থাকে। A[i] ith শিক্ষার্থীর রেটিং প্রতিনিধিত্ব করে। প্রতিযোগীতা শেষ হওয়ার পর, প্রত্যেক শিক্ষার্থী কিছু ইতিবাচক পূর্ণসংখ্যা অবস্থান নিয়ে শেষ হবে। আমরা আশা করছি শিক্ষার্থীরা তাদের রেটিং অনুযায়ী জায়গা নেবে। যদি ছাত্র A-এর রেটিং ছাত্র B-এর থেকে কঠোরভাবে কম থাকে, A-এর অবস্থান B-এর থেকে কঠোরভাবে বেশি হবে। আমাদের প্রতিযোগিতার শেষে অবস্থান খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি A =[3, 5, 3, 4, 5] এর মতো হয়, তবে আউটপুট হবে [4, 1, 4, 3, 1] কারণ দ্বিতীয় এবং 5ম শিক্ষার্থীরা সর্বোচ্চ রেটিং সহ প্রথম অবস্থান ভাগ করে নেয়, চতুর্থ ছাত্র তৃতীয় অবস্থানের সাথে পরবর্তী, 1ম এবং 3য় ছাত্ররা চতুর্থ স্থান ভাগ করে নেওয়ার শেষ ভাগ।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   d := 1
   for initialize j := 0, when j < n, update (increase j by 1), do:
      if A[j] > A[i], then:
         (increase d by 1)
   cout << d << ", "

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
void solve(vector<int> A){
   int n = A.size();
   for (int i = 0; i < n; i++){
      int d = 1;
      for (int j = 0; j < n; j++){
         if (A[j] > A[i])
            d++;
      }
      cout << d << ", ";
   }
}
int main(){
   vector<int> A = { 3, 5, 3, 4, 5 };
   solve(A);
}

ইনপুট

{ 3, 5, 3, 4, 5 }

আউটপুট

4, 1, 4, 3, 1,

  1. সংখ্যাগুলি মুছে ফেলার পরে xম উপাদান খুঁজে পেতে C++ কোড

  2. C++ কোড মিনিমাম সর্বোচ্চ রিমুভাল গেমের পরে চূড়ান্ত নম্বর খুঁজে পেতে

  3. C++ এ T সেকেন্ডের পর ব্যাঙের অবস্থান

  4. C++ এ প্রদত্ত নড়াচড়ার পর রোবটের অবস্থান