หน้าแรก
หน้าแรก
สมมติว่ามีชิปอยู่บ้าง ชิปตัวที่ i อยู่ที่ตำแหน่งชิป[i] เราสามารถดำเนินการใด ๆ ของการดำเนินการสองประเภทต่อไปนี้ได้หลายครั้งตามที่เราต้องการ (อาจเป็นศูนย์) บนชิปใด ๆ - ย้ายชิปตัวที่ i 2 หน่วยไปทางซ้ายหรือทางขวาด้วยราคา 0 ย้ายชิปตัวที่ i 1 หน่วยไปทางซ้ายหรือทางขวาโดยมีราคา 1 หน่วย ในขั้นต้น อา
สมมติว่าเรามีตาราง 2D ขนาด m x n เรามีตัวแปรอื่น k เราต้องเปลี่ยนตาราง k ครั้ง การดำเนินการกะจะเป็นดังนี้ องค์ประกอบที่ตาราง G[i, j] ย้ายไปที่ G[i, j + 1] องค์ประกอบที่ตาราง G[i, n – 1] ย้ายไปที่ G[i + 1, 0] องค์ประกอบที่เส้นตาราง G[m - 1, n – 1] เลื่อนไปที่ G[0, 0] ดังนั้นหากกริดเป็นเหม
สมมติว่าเรามี หัว หนึ่งอันซึ่งเป็นโหนดอ้างอิงไปยังรายการที่เชื่อมโยงโดยลำพัง ค่าของแต่ละโหนดที่มีอยู่ในรายการที่เชื่อมโยงคือ 0 หรือ 1 รายการที่เชื่อมโยงนี้จัดเก็บการแสดงเลขฐานสองของตัวเลข เราต้องคืนค่าทศนิยมของตัวเลขที่มีอยู่ในรายการที่เชื่อมโยง ดังนั้นหากรายการเป็นแบบ [1,0,1,1,0,1] เพื่อแก้ปัญหานี
ต้นไม้ 2-3 ต้นถูกกำหนดให้เป็นโครงสร้างข้อมูลต้นไม้ โดยที่ทุกโหนดที่มีลูก (โหนดภายใน) มีลูกสองคน (2 โหนด) เช่นเดียวกับองค์ประกอบข้อมูลหนึ่งองค์ประกอบหรือลูกสามคน (3 โหนด) รวมถึงสองข้อมูล องค์ประกอบ คำจำกัดความ เราเรียกว่าโหนดภายในเป็น 2 โหนดหากมีองค์ประกอบข้อมูลหนึ่งองค์ประกอบและลูกสองคน เราเรีย
ให้ f =(x1 ∨ y1) ∧ (x2 ∨ y2) ∧ ... ∧ (xn ∨ yn) ปัญหา:พอใจไหม ซี ∨ ยี่ และ และ มีค่าเท่ากันทั้งหมด ดังนั้นเราจึงแปลง (xi ∨ yi) แต่ละตัวเป็นสองประโยคนี้ ตอนนี้สมมติกราฟที่มีจุดยอด 2n ในกรณีของ (xi∨yi) ที่มีขอบตรงทั้งสองข้างถูกเพิ่มเข้ามา จาก ¬xi ถึง yi จาก ¬yi ถึง xi f จะไม่ถือว่าเป็นที่
Merge sort เกี่ยวข้องกับการแบ่งอาร์เรย์ซ้ำๆ ออกเป็น 2 ส่วน การเรียงลำดับและการรวมเข้าด้วยกันในที่สุด ตัวแปรของการเรียงลำดับการผสานจะถือว่าเป็นการเรียงลำดับการผสาน 3 ทาง โดยแทนที่จะแบ่งอาร์เรย์ออกเป็น 2 ส่วน เราจะแบ่งออกเป็น 3 ส่วน การเรียงลำดับแบบผสานจะแบ่งอาร์เรย์ออกเป็นอาร์เรย์ย่อยขนาดครึ่งหนึ่งใ
ในหลายกรณี เราจำเป็นต้องตรวจสอบค่าของบางสิ่งที่ส่งคืนโดยฟังก์ชันและดำเนินการตามเงื่อนไขตามค่านี้ ดังนั้นรหัสของเราจะได้รับด้านล่าง - // Some method or function return_type foo(Params) // Call function with Params and // store return in var1 auto var1 = foo(Params); if (var1 == /* some value */) { &n
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมที่จะคัดลอกชุดบิตของตัวเลขหนึ่งไปยังอีกชุดหนึ่งในช่วงที่กำหนด สำหรับสิ่งนี้เราจะได้รับจำนวนเต็มสองจำนวน งานของเราคือดูบิตในหมายเลขแรกและตั้งค่าบิตเหล่านั้นเป็นหมายเลขที่สองด้วยหากอยู่ในช่วงที่กำหนด ในที่สุดก็คืนหลักที่ผลิต ตัวอย่าง #include <bits/stdc++.h> usi
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาส่วนนูนของชุดจุดที่กำหนด ตัวเรือนูนเป็นรูปนูนรูปหลายเหลี่ยมที่เล็กที่สุดที่มีจุดที่กำหนดทั้งหมดไม่ว่าจะอยู่ที่ขอบด้านในของรูปหรือไม่ ใน Graham Scan อันดับแรก จะมีการจัดเรียง pointes เพื่อไปยังจุดต่ำสุด จากนั้นคะแนนจะถูกสำรวจตามลำดับและยกเลิกหรือยอมรับให้อ
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาส่วนนูนของชุดจุดที่กำหนด ตัวเรือนูนเป็นรูปนูนรูปหลายเหลี่ยมที่เล็กที่สุดที่มีจุดที่กำหนดทั้งหมดไม่ว่าจะอยู่ที่ขอบด้านในของรูปหรือไม่ ตัวอย่าง #include <bits/stdc++.h> #define llu long long int using namespace std; //structure for the given point stru
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาส่วนนูนของชุดจุดที่กำหนด ตัวเรือนูนเป็นรูปนูนรูปหลายเหลี่ยมที่เล็กที่สุดที่มีจุดที่กำหนดทั้งหมดไม่ว่าจะอยู่ที่ขอบด้านในของรูปหรือไม่ ในโปรแกรมนี้ เราจะใช้กำลังเดรัจฉานเพื่อแบ่งจุดที่กำหนดออกเป็นส่วนเล็กๆ จากนั้นจึงรวมจุดที่ตามมาเพื่อสร้างตัวเรือนูน ตัวอย่
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมค้นหาพิกัดของสี่เหลี่ยม โดยมีแต้มอยู่ภายใน สำหรับสิ่งนี้เราจะได้รับจุดพิกัดบางส่วน งานของเราคือการหาสี่เหลี่ยมที่เล็กที่สุดโดยที่จุดทั้งหมดอยู่ภายในและควรมีด้านของมันขนานกับแกนพิกัด ตัวอย่าง #include <bits/stdc++.h> using namespace std; //calculating the coor
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลงวินาทีเป็นวัน ชั่วโมง นาที และวินาที สำหรับสิ่งนี้ เราจะได้รับจำนวนวินาทีแบบสุ่ม งานของเราคือการแปลงเป็นจำนวนวัน ชั่วโมง นาที และวินาทีที่เหมาะสมตามลำดับ ตัวอย่าง #include <bits/stdc++.h> using namespace std; //converting into proper format void convert_de
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมค้นหาส่วนนูนของชุดจุดที่กำหนดโดยใช้อัลกอริทึมของจาร์วิส ตัวเรือนูนเป็นรูปนูนรูปหลายเหลี่ยมที่เล็กที่สุดที่มีจุดที่กำหนดทั้งหมดไม่ว่าจะอยู่ที่ขอบด้านในของรูปหรือไม่ ในอัลกอริธึมของจาร์วิส เราเลือกจุดซ้ายสุดและให้จุดตัดเคลื่อนที่ไปตามทิศทางตามเข็มนาฬิกา ตัวอย่าง #inc
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมการแปลงเลขโรมันเป็นทศนิยมซึ่งอยู่ระหว่าง 1 ถึง 3999 สำหรับสิ่งนี้ เราจะได้รับเลขโรมันแบบสุ่ม งานของเราคือการแปลงเลขโรมันที่กำหนดให้เป็นทศนิยมเทียบเท่า ตัวอย่าง #include<bits/stdc++.h> using namespace std; //calculating the decimal value int value(char r){ &nbs
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อแปลงสตริงหนึ่งเป็นสตริงอื่นโดยใช้การผนวกและลบการดำเนินการล่าสุด สำหรับสิ่งนี้เราจะมีให้สองสตริง งานของเราคือการคำนวณว่าสตริงแรกสามารถแปลงเป็นสตริงที่สองได้หรือไม่โดยดำเนินการ k ของการผนวกและลบองค์ประกอบสุดท้าย ตัวอย่าง #include <bits/stdc++.h> using names
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมที่จะแปลงเป็นอาร์เรย์จำนวนเต็มที่เพิ่มขึ้นอย่างเคร่งครัดโดยมีการเปลี่ยนแปลงขั้นต่ำ สำหรับสิ่งนี้เราจะได้รับอาร์เรย์ งานของเราคือเปลี่ยนองค์ประกอบของอาร์เรย์ให้อยู่ในลำดับที่เพิ่มขึ้นอย่างเคร่งครัดตามจำนวนการเปลี่ยนแปลงขั้นต่ำในองค์ประกอบ ตัวอย่าง #include <bits/s
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลงตัวเลขให้เป็นตัวเลข 3 และ 8 เท่านั้น สำหรับสิ่งนี้เราจะได้รับหมายเลขสุ่ม งานของเราคือการแปลงตัวเลขให้เหลือเพียง 3 และ 8 โดยเพิ่ม/ลบ 1 จากตัวเลขหรือแปลงหลักของตัวเลขเป็นตัวเลขที่ต้องการ ตัวอย่าง #include <bits/stdc++.h> using namespace std; //calculating mi
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลงเลขทศนิยมระหว่าง 1 ถึง 3999 เป็นเลขโรมัน สำหรับสิ่งนี้ เราจะได้รับจำนวนเต็มแบบสุ่ม งานของเราคือการแปลงตัวเลขที่ระบุเป็นเลขโรมันเทียบเท่า ตัวอย่าง #include <bits/stdc++.h> using namespace std; //converting decimal to roman numeral int printRoman(int number)
ในกรณีของสตริงที่กำหนด ให้จัดเรียงอักขระของสตริงที่กำหนดใหม่เพื่อให้สระและพยัญชนะอยู่ในตำแหน่งอื่น หากไม่สามารถจัดเรียงสตริงใหม่ได้อย่างเหมาะสม ให้แสดง ไม่มีสตริงดังกล่าว ลำดับของสระที่สัมพันธ์กันและลำดับของพยัญชนะที่สัมพันธ์กันควรได้รับการสงวนรักษาไว้ หากสามารถสร้างสตริงที่จำเป็นได้มากกว่าหนึ่งราย