วันนี้เราจะมาไข ปัญหา CodeChef หลายข้อใน 3 ข้อ ซึ่งเป็นส่วนหนึ่งของ ชุดการเรียนรู้ CodeChef DSA



ปัญหา

พิจารณาตัวเลข K หลักที่ยาวมาก N โดยมีตัวเลข d0, d1, …, dK-1 (ในรูปแบบทศนิยม โดย d0 เป็นตัวเลขที่มีนัยสำคัญที่สุด และ dK-1 เป็นตัวเลขที่มีนัยสำคัญน้อยที่สุด) ตัวเลขนี้มีขนาดใหญ่มากจนเราไม่สามารถให้ข้อมูลแก่คุณในการป้อนข้อมูลได้อย่างชัดเจน แต่คุณจะได้รับเฉพาะตัวเลขเริ่มต้นและวิธีสร้างส่วนที่เหลือของตัวเลขเท่านั้น

โดยเฉพาะอย่างยิ่ง คุณจะได้รับ d0 และ d1; สำหรับแต่ละ i ≥ 2 นั้น di คือผลรวมของตัวเลขก่อนหน้า (ที่มีนัยสำคัญมากกว่า) ทั้งหมด แบบโมดูโล 10 — หากเป็นทางการกว่านั้น สูตรต่อไปนี้จะต้องคงอยู่:

ตรวจสอบว่า N เป็นผลคูณของ 3 หรือไม่

รูปแบบการป้อนข้อมูล

บรรทัดแรกของอินพุตจะมีจำนวนเต็ม T เดียวซึ่งแสดงถึงจำนวนกรณีทดสอบ คำอธิบายของกรณีทดสอบ T มีดังนี้

บรรทัดแรกและบรรทัดเดียวของแต่ละกรณีทดสอบประกอบด้วยจำนวนเต็มสามตัวที่คั่นด้วยช่องว่าง K, d0 และ d1

รูปแบบเอาต์พุต

สำหรับแต่ละกรณีทดสอบ ให้พิมพ์บรรทัดเดียวที่มีสตริง “YES” (ไม่มีเครื่องหมายคำพูด) หากตัวเลข N เป็นผลคูณของ 3 หรือ “NO” (ไม่มีเครื่องหมายคำพูด)

ข้อจำกัด

  • 1 ≤ T ≤ 1000
  • 2 ≤ K ≤ 1012
  • 1 ≤ d0 ≤ 9
  • 0 ≤ d1 ≤ 9

อินพุตตัวอย่าง

3
5 3 4
13 8 1
760399384224 5 1

ผลลัพธ์ตัวอย่าง

NO
YES
YES

คำอธิบาย

กรณีที่ 1: จำนวนเต็ม N คือ 34748 ซึ่งหารด้วย 3 ไม่ลงตัว ดังนั้นคำตอบคือ NO
ตัวอย่างกรณีที่ 2: จำนวนเต็ม N คือ 8198624862486 ซึ่งหารด้วย 3 ลงตัว ดังนั้นคำตอบคือ ใช่

โซลูชัน CodeChef หลายรายการจาก 3 รายการ