Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ เพื่อตรวจสอบจำนวนกองใช้ได้ตั้งแต่วันที่สอง


สมมติว่าเรามีสองอาร์เรย์ X และ Y ที่มีขนาดเท่ากัน มีกองหินที่มีจำนวน X[i] ของหินบนดัชนี ith ในวันแรกและในวันที่สอง ith ดัชนีมีจำนวนของหิน Y[i] วันแรกมีสมาชิกมากันเยอะ ไม่ว่าพวกเขาจะไม่ทำอะไรเลยหรือเพิ่มหินสองสามก้อนในกองหรือสลับหินสองสามก้อนจากกองหนึ่งไปอีกกอง เราต้องตรวจสอบว่า Y ถูกต้องจาก X หรือไม่

ดังนั้น ถ้าอินพุตเป็นเหมือน X =[1, 2, 3, 4, 5]; Y =[2, 1, 4, 3, 5] แล้วผลลัพธ์จะเป็น True เพราะย้ายหินหนึ่งก้อนจากกองที่สองไปยังกองแรก จากกองที่ 4 ไปที่กองที่ 3 หนึ่งก้อน

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

n :=ขนาดของ Afor เริ่มต้น i :=0 เมื่อฉัน  s จะเป็นเท็จ มิฉะนั้น จะเป็นจริง)

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include ใช้เนมสเปซ std;bool แก้ปัญหา(vector A, vector B){ int n =A.size(), d =0, s =0; สำหรับ (int i =0; i  s ? เท็จ:จริง;}int main(){ vector X ={ 1, 2, 3, 4, 5 }; เวกเตอร์ Y ={ 2, 1, 4, 3, 5 }; ศาล <<แก้ (X, Y) < 

อินพุต

<ก่อน>{ 1, 2, 3, 4, 5 }, { 2, 1, 4, 3, 5 }

ผลลัพธ์

1