Home  >  Article  >  Backend Development  >  Submit C++ Assignment

Submit C++ Assignment

WBOY
WBOYforward
2023-09-13 18:29:06989browse

Submit C++ Assignment

In this tutorial we have to write an algorithm to find a way to pass the assignment without being discovered by the proctor. Each student must submit assignments to the proctor. Student A's assignment is given to Student B, so Student B must return/pass the assignment to Student A without the proctor noticing.

All students are sitting in the queue. We need to find a way to pass the assignment back to student A without getting caught. The various requirements for which they can pass the assignment are as follows -

  • Student A (at index i) can pass the assignment to the neighbors at index (i- 1) and (i 1)

  • Students can submit, accept, or hold assignments.

  • The proctor is monitoring all students in index [il, rl].

  • When students are within range of the proctor, they cannot send or receive assignments.

  • Students cannot send or receive assignments while they are under the supervision of a proctor. p>

  • If students retain assignments within this range, proctors will not detect them.

We are given four inputs p, q, r, s, where p is the total number of students, q is the total number of steps monitored by the invigilator from il to rl, and c is The position of student A, d is the position of student A. Student B's position.

Each step (q) has three inputs -

  • The total time the proctor monitors the given range.

  • In the containment range on the far left, the invigilator is watching.

  • In the included range on the far right, the invigilator is watching. , watching.

Requires an output sequence of 3 words: "left", "right" and "hold", indicating the student's activity (if they are watching) through the assignment (left/right) or Keep it. For example,

Steps

Input

8 3 2 7
1 4 6
2 1 8
3 5 6

Output

Right
Keep
Right
Right
Right
Right

Explanation

Following these instructions, the assignment will be transferred from the student at index 2 to the student at index 7 without being captured.

Input

5 1 1 3
1 2 5

Output

Keep
Right
Right

Explanation

Follow these instructions , the assignment will be transferred from the student at index 1 to the student at index 3 without being captured.

Close to a solution

In a given instance, if the proctor is monitoring within the scope, either the student currently doing the assignment or the student to whom the assignment is being sent,​​ Then the student will remain with him on that task. Otherwise, he passes the ball to an adjacent student in the direction of the final goal.

Example

#include <bits/stdc++.h>
using namespace std;
void solve(int p, int q, int r, int s,
long t[], int l[], int ar[]){
   int dir;
   string val;
   if (r < s) {
      dir = 1;
      val = "Right";
   } else {
      dir = -1;
      val = "Left";
   }
   string answer = "";
   int i = 0, current = r;
   long tim = 1;
   while (1) {
      if (i < q && tim == t[i]) {
         if ((current >= l[i] && current <= ar[i]) ||
         (current + dir >= l[i] && current + dir <= ar[i])) {
            answer += "Keep\n";
            tim++;
            i++;
            continue;
         }
         i++;
      }
      current += dir;
      answer += val+"\n";
      tim++;
      if (current == s)
         break;
   }
   cout << answer << endl;
}
int main(){
   int p = 8, q = 3, r = 2, s = 7;
   long t[q + 2] = { 1,2,3 };
   int l[q + 2] = { 4,1,5 };
   int ar[q + 2] = { 6,8,6 };
   solve(p, q, r, s, t, l, ar);
   return 0;
}

Output

Right
Keep
Right
Right
Right
Right

Conclusion

In this tutorial, we learned to write an algorithm to find an algorithm that works without being proctored Personnel found the case through the assignment method as well as the C code. We can also write this code in java, python and other languages. The above algorithm is an important algorithm for competitive coding competitions. This question contains a real-life problem that we solved through C code. We hope you found this tutorial helpful.

The above is the detailed content of Submit C++ Assignment. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete