Hantar Tugasan C++

WBOY
Lepaskan: 2023-09-13 18:29:06
ke hadapan
985 orang telah melayarinya

Hantar Tugasan C++

Dalam tutorial ini kita perlu menulis algoritma untuk mencari jalan untuk lulus tugasan tanpa disedari oleh proctor. Setiap pelajar mesti menyerahkan tugasan kepada pengawas. Tugasan Pelajar A diberikan kepada Pelajar B, jadi Pelajar B mesti memulangkan/lulus tugasan kepada Pelajar A tanpa disedari oleh pengawas.

Semua pelajar duduk dalam barisan. Kita perlu mencari jalan untuk menghantar semula tugasan kepada pelajar A tanpa ditangkap. Pelbagai keperluan yang mereka boleh lulus tugasan adalah seperti berikut -

  • Pelajar A (di indeks i) boleh menghantar tugasan kepada jiran yang terletak di indeks (i- 1) dan (i+1)

  • Pelajar boleh menghantar, menerima atau memegang tugasan.

  • Pengawal sedang memantau semua pelajar dalam indeks [il, rl].

  • Pelajar tidak boleh menghantar atau menerima tugasan semasa mereka berada dalam lingkungan pengawas.

  • Pelajar tidak boleh menghantar atau menerima tugasan semasa mereka berada di bawah pengawasan pengawas. p>

  • Jika pelajar menyimpan tugasan mereka dalam julat ini, pengawas tidak akan menyedarinya.

Kami diberi empat input p, q, r, s, di mana p ialah jumlah bilangan pelajar dan q ialah jumlah langkah pemantauan oleh pengawas dari il kepada Nombor rl, c ialah kedudukan pelajar A, dan d ialah kedudukan pelajar A. Kedudukan pelajar B.

Setiap langkah (q) mempunyai tiga input -

  • Jumlah masa yang dipantau oleh pengawas untuk julat yang diberikan.

  • Di kawasan kurungan paling kiri, pengawas sedang memerhati.

  • Di kawasan pembendungan di hujung kanan, pengawas sedang memerhati. , menonton.

Memerlukan urutan keluaran 3 perkataan: "kiri", "kanan" dan "tahan", menunjukkan aktiviti pelajar (jika mereka menonton) melalui tugasan ( kiri / kanan) atau simpannya. Contohnya,

Langkah

Input

8 3 2 7
1 4 6
2 1 8
3 5 6
Salin selepas log masuk

🎜🎜🎜#🎜🎜🎜#🎜 #

Right
Keep
Right
Right
Right
Right
Salin selepas log masuk
Salin selepas log masuk

Penjelasan

Mengikut arahan ini, tugasan akan dipindahkan daripada pelajar di indeks 2 kepada pelajar di indeks 7 tanpa ditangkap.

Input

5 1 1 3
1 2 5
Salin selepas log masuk

Output

Keep
Right
Right
Salin selepas log masuk

Output#🎜🎟#rreee 🎜🎜#

Ikuti arahan ini dan tugasan akan dipindahkan daripada pelajar di indeks 1 kepada pelajar di indeks 3 tanpa ditangkap.

Dekat dengan penyelesaian

Dalam keadaan tertentu, jika pengawas memantau dalam julat itu, sama ada pelajar sedang melakukan tugasan atau pelajar yang tugasan sedang diberikan. menghantar pelajar, maka pelajar itu akan kekal bersamanya untuk menyelesaikan tugasan tersebut. Jika tidak, dia menghantar bola kepada pelajar bersebelahan ke arah gol terakhir.

Contoh

#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;
}
Salin selepas log masuk

Output

Right
Keep
Right
Right
Right
Right
Salin selepas log masuk
Salin selepas log masuk
Kesimpulan

Dalam tutorial ini, kami belajar untuk menulis algoritma ini satu cara untuk lulus tugasan tanpa ditemui oleh pengawas bersama-sama dengan kod C++. Kita juga boleh menulis kod ini dalam java, python dan bahasa lain. Algoritma di atas adalah algoritma penting untuk pertandingan pengekodan kompetitif. Soalan ini mengandungi masalah kehidupan sebenar yang kami selesaikan melalui kod C++. Kami harap anda mendapati tutorial ini membantu.

Atas ialah kandungan terperinci Hantar Tugasan C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan