Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. การปูกระเบื้องสี่เหลี่ยมจัตุรัสน้อยที่สุดเพื่อปิดสี่เหลี่ยมผืนผ้าใน C++

    ให้สี่เหลี่ยมผืนผ้าขนาด n x m หาจำนวนสี่เหลี่ยมจัตุรัสขนาดจำนวนเต็มที่น้อยที่สุดที่สามารถปูครอบคลุมสี่เหลี่ยมผืนผ้าได้ เช่น n=2, m=3 เอาต์พุต = 3 (ต้องใช้ 3 ชิ้น) วิธีแก้ − ใช้ DFS + Backtracking พร้อม Memoization ลองวางสี่เหลี่ยมจัตุรัสขนาดต่างๆ จากมุมที่ว่างอยู่ต่ำสุด ตัวอย่าง #include <bits/s

  2. ตรวจสอบว่าเป็นอาร์เรย์ที่ดีหรือไม่ใน C++

    สมมติว่ามีอาร์เรย์ nums ของจำนวนเต็มบวก เราเลือก subset ของ nums คูณแต่ละตัวด้วยจำนวนเต็มแล้วบวกกัน อาร์เรย์จะเป็น ดี ถ้าเราสามารถได้ผลรวม 1 จาก subset และตัวคูณใดๆ เช่น [12,23,7,5] เป็นอาร์เรย์ที่ดี เพราะ 5*3 + 7*(-2) = 1 วิธีแก้ − คำนวณ GCD ของทุกตัวเลขในอาร์เรย์ ถ้า GCD = 1 คืออาร์เรย์ดี (ทฤษฎีจ

  3. คะแนนสูงสุดของคำที่สร้างจากตัวอักษรใน C++

    ให้รายการคำ (words), รายการตัวอักษรเดี่ยว (letters) และคะแนนของแต่ละตัวอักษร ต้องหาคะแนนสูงสุดของชุดคำที่ถูกต้องที่สร้างจากตัวอักษรที่ให้ อาจไม่ใช้ตัวอักษรทั้งหมด และแต่ละตัวอักษรใช้ได้ครั้งเดียว คะแนน a-z กำหนดโดย score[0] ถึง score[25] เช่น words = [god,good,toc,cat], letters = [a,g,o,o,d,d,d,c,t

  4. การกลายพันธุ์ทางพันธุกรรมขั้นต่ำใน C++

    สมมติว่าเรามีสตริงยีน (gene string) ความยาว 8 ประกอบด้วยตัวอักษร [A, C, G, T] การกลายพันธุ์ 1 ครั้งคือเปลี่ยนตัวอักษร 1 ตัว เช่น AACCGTTT → AACCGTTA เป็น 1 การกลายพันธุ์ มี bank ของยีนที่ถูกต้อง ต้องอยู่ใน bank จึงจะเป็นยีนที่ถูกต้อง ให้ start, end, bank หาจำนวนการกลายพันธุ์น้อยที่สุดจาก start ไป e

  5. ระยะทางแฮมมิงรวมใน C++

    ให้รายการตัวเลข งานคือหาระยะทางแฮมมิง (Hamming distance) ของทุกคู่ของตัวเลขที่กำหนด ระยะทางแฮมมิงระหว่างสองจำนวนเต็มคือจำนวนตำแหน่งบิตที่ต่างกัน เช่น [4,14,17,2] เอาต์พุตคือ 17 วิธีแก้ − นับบิต 1 และ 0 ในแต่ละตำแหน่งของทุกตัวเลข คำนวณจำนวนคู่ที่บิตต่างกัน ตัวอย่าง j) & 1; ans

  6. นับจำนวนเส้นขอบในกราฟไม่มีทิศทางใน C++

    งานคือนับจำนวนเส้นขอบ (edges) ในกราฟไม่มีทิศทาง (undirected graph) กราฟไม่มีทิศทางคือชุดของโหนด (vertices) ที่เชื่อมต่อกัน เส้นขอบทั้งหมดเป็นแบบสองทิศทาง เส้นขอบในกราฟคือเส้นที่เชื่อมโหนดสองโหนดเข้าด้วยกัน อินพุต − insert(graph_list, 0, 1); insert(graph_list, 0, 2); insert(graph_list, 1, 2); insert

  7. นับสมาชิกที่มีความถี่น้อยที่สุดใน Linked List ใน C++

    งานคือนับจำนวนสมาชิกที่มีความถี่น้อยที่สุดใน Linked List ที่มีสมาชิกซ้ำ Linked List เป็นโครงสร้างข้อมูลที่เก็บข้อมูลแบบลำดับ แต่ละโหนดลิงก์ไปยังโหนดถัดไป ความถี่ของสมาชิกใน Linked List หมายถึงจำนวนครั้งที่สมาชิกนั้นปรากฏ ต้องนับสมาชิกที่มีความถี่น้อยที่สุด เช่น Linked List: 1→1→3→1→3→4→6 ความถี่น้อ

  8. set vs unordered_set ใน C++ STL

    บทความนี้อธิบาย set และ unordered_set ใน C++ STL และความแตกต่างระหว่างกัน Set คืออะไร? Set เป็น Associative Container ที่เก็บชุดของออบเจ็กต์ Key ที่ไม่ซ้ำและเรียงลำดับแล้ว แต่ละอิลิเมนต์เกิดขึ้นได้ครั้งเดียว ผู้ใช้สามารถเพิ่มข้อมูลในลำดับใดก็ได้ Set จะคืนข้อมูลที่เรียงลำดับแล้ว สถานการณ์ที่ควรใช้ S

  9. คอนเทนเนอร์ใน Bootstrap พร้อมตัวอย่าง

    คอนเทนเนอร์ใน Bootstrap ใช้สำหรับเก็บหรือผูกเนื้อหาบน viewport เพิ่ม padding ให้เนื้อหาโดยให้ margin ทุก 4 ด้าน และสามารถปรับเปลี่ยนได้ คอนเทนเนอร์ยังสามารถซ้อนกันได้ container คลาส .container สร้างคอนเทนเนอร์ที่ตอบสนอง (responsive) มีความกว้างคงที่ใน viewport กำหนด max-width ตามขนาด viewport Ext

  10. พื้นที่สี่เหลี่ยมผืนผ้าสูงสุดที่เป็นไปได้จากเส้นรอบรูปที่กำหนดใน C++

    ให้เส้นรอบรูปของสี่เหลี่ยมผืนผ้า งานคือหาพื้นที่สูงสุดของสี่เหลี่ยมผืนผ้าที่มีเส้นรอบรูปนั้น สี่เหลี่ยมผืนผ้ามีด้านตรงข้ามเท่ากันและขนานกัน เส้นรอบรูป = 2(ความยาว + ความกว้าง) พื้นที่ = ความยาว x ความกว้าง เพื่อให้พื้นที่สูงสุด ให้ความยาว = ceil(เส้นรอบรูป/4) ความกว้าง = floor(เส้นรอบรูป/4) พื้นที่

  11. นับรายการเท่ากับ x ในเมทริกซ์พิเศษใน C++

    ให้เมทริกซ์สี่เหลี่ยมจัตุรัส mat[][] ที่ mat[i][j] = i*j งานคือนับจำนวนสมาชิกที่เท่ากับ x เมทริกซ์คืออาร์เรย์ 2 มิติที่แสดงตัวเลขเป็นแถวและคอลัมน์ อินพุต − matrix = {{1,2,3},{3,4,3},{3,4,5}}, x = 3 เอาต์พุต − Count of entries equal to x in a special matrix: 4 อินพุต − matrix = {{10,20,30},{30,40,30

  12. นับจำนวน n หลักที่หารตัวเลขที่กำหนดลงตัวใน C++

    ให้ d (จำนวนหลัก) และ num งานคือหาจำนวน d หลักที่หาร num ลงตัว เช่น d=2 หมายถึงเลข 10-99 หาตัวที่หาร num ลงตัว อินพุต − digit = 2, num = 12 เอาต์พุต − 8 (12,24,36,48,60,72,84,96) อินพุต − digit = 2, num = 9 เอาต์พุต − 10 (18,27,36,45,54,63,72,81,90,99) แนวทาง คำนวณ digi_first = 10^(digit-1), digi_

  13. นับหลักในตัวเลข N ที่หาร N ลงตัวใน C++

    ให้ตัวเลข N งานคือหาจำนวนหลักใน N ที่หาร N ลงตัว จุดสำคัญ ถ้าหลักเป็น 0 ให้ข้าม (ไม่นับ) ถ้าหลักซ้ำและหารลงตัว ให้นับตามจำนวนครั้งที่ปรากฏ เช่น 2240 หลัก 2 ปรากฏ 2 ครั้ง หาร 2240 ลงตัว นับ 2 ครั้ง อินพุต − number = 2240 เอาต์พุต − count is 3 คำอธิบาย − หลักคือ 2,2,4,0 ตัว 2,2,4 หาร 2240 ลงตัว นับ

  14. นับจำนวน n หลักที่ไม่มีหลักเฉพาะใน C++

    ให้จำนวน n หลัก และหลักที่ต้องการหลีกเลี่ยง งานคือนับจำนวน n หลักที่ไม่มีหลักนั้นปรากฏ อินพุต − n = 2, digit = 2 เอาต์พุต − count is 153 คำอธิบาย − เลข 2 หลักที่ไม่มีเลข 2 คือ 10,11,13,14,...,99 รวม 153 ตัว อินพุต − n = 3, digit = 3 เอาต์พุต − count is 2187 แนวทาง รับ n และ digit คำนวณ min = 10^(n

  15. นับความถี่ของ k ในเมทริกซ์ขนาด n ที่ matrix(i,j) = i+j ใน C++

    ให้เมทริกซ์จำนวนเต็ม งานคือนับความถี่ของตัวเลข k ในเมทริกซ์ ขนาดเมทริกซ์ขึ้นอยู่กับผู้ใช้ โปรแกรมนี้ใช้ 4x4 เมทริกซ์สร้างจากเงื่อนไข matrix(i,j) = i+j โดยดัชนีเริ่มต้นที่ 0,0 อินพุต − size = 4, k = 4 เอาต์พุต − count of 4 in given matrix 4x4 is 3 คำอธิบาย − เมทริกซ์ 4x4 ค่าคือ 0,1,2,3 / 1,2,3,4 / 2

  16. นับจำนวนสัตว์ในสวนสัตว์จากจำนวนหัวและขาใน C++

    ให้จำนวนหัวและขาทั้งหมดในสวนสัตว์ งานคือคำนวณจำนวนสัตว์ โดยพิจารณาเฉพาะกวางและนกกา อินพุต − heads = 60 legs = 200 เอาต์พุต − Count of deers are: 40 Count of peacocks are: 20 คำอธิบาย − ให้ x = จำนวนกวาง, y = จำนวนนกกา สมการ: x + y = 60, 4x + 2y = 200 แก้ได้ y = 20, x = 40 อินพุต − heads = 80 Legs =

  17. นับจำนวนสมาชิกน้อยกว่าหรือเท่ากับ x ในเมทริกซ์ที่เรียงแล้วใน C++

    ให้เมทริกซ์ขนาด n x n จำนวนเต็ม x และสมาชิกในเมทริกซ์เรียงลำดับแล้ว งานคือนับจำนวนสมาชิกที่น้อยกว่าหรือเท่ากับ x อินพุต − matrix[3][3] = {{1,2,3},{4,5,6},{6,7,8}} และ X = 4 เอาต์พุต − count is 4 คำอธิบาย − สมาชิกน้อยกว่าหรือเท่ากับ 4 คือ 1,2,3,4 รวม 4 ตัว อินพุต − matrix[3][3] = {{1,2,3},{4,5,6},{6

  18. นับจำนวนธรรมดาที่การเรียงสับเปลี่ยนทั้งหมดมากกว่าตัวมันเองใน C++

    เราได้รับจำนวนธรรมดา num งานคือการนับจำนวนธรรมดาที่การเรียงสับเปลี่ยน (permutation) ทุกอย่างของมันมีค่ามากกว่าหรือเท่ากับตัวเลขนั้น เงื่อนไข − ข้อมูลเป็นจำนวนธรรมดาเท่านั้น การเรียงสับเปลี่ยนทุกอย่างของจำนวนนั้นต้องเท่ากับหรือมากกว่าจำนวนที่ให้มา เช่น เลข 20 พิจารณาตัวเลข 1 ถึง 20 ตรวจสอบเลขที่การ

  19. นับจำนวนอะตอมใน C++

    สมมติว่าเรามีสูตรเคมี เราต้องหาจำนวนอะตอมแต่ละชนิด ธาตุเริ่มต้นด้วยตัวพิมพ์ใหญ่ ตามด้วยตัวพิมพ์เล็ก 0 ตัวขึ้นไป และตัวเลข 1 ตัวขึ้นไปแทนจำนวน (ถ้าเป็น 1 จะไม่เขียนตัวเลข) เช่น H2O และ H2O2 ถูกต้อง แต่ H1O2 ผิด เช่น Na2(CO)3 เอาต์พุตคือ C3Na2O3 หมายถึง คาร์บอน 3 โซเดียม 2 ออกซิเจน 3 วิธีแก้ − ใช้ St

  20. สตริงไบนารีพิเศษใน C++

    สมมติว่าเรามีสตริงไบนารีพิเศษ ที่มีคุณสมบัติ − จำนวน 0 และ 1 เท่ากัน และทุก Prefix มีจำนวน 1 มากกว่าหรือเท่ากับ 0 การเคลื่อนที่คือการเลือกสองสตริงย่อยพิเศษที่ติดกันและไม่ว่าง แล้วสลับกัน เราต้องหาสตริงที่ใหญ่ที่สุดในลำดับเล็กซิโครกราฟิกหลังการเคลื่อนที่กี่ครั้งก็ได้ เช่น 11011000 เอาต์พุตคือ 111001

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:183/301  20-คอมพิวเตอร์/Page Goto:1 177 178 179 180 181 182 183 184 185 186 187 188 189