7
ตรวจสอบว่าสตริงเป็นการสลับแบบแฝดหรือไม่
คำอธิบาย สองสายสามารถสับโดยการกระจายตัวอักษรของพวกเขาเพื่อสร้างสายใหม่เช่นเดียวกับไพ่สองกองสามารถสับเพื่อสร้างกองเดียว ยกตัวอย่างเช่นสตริงHELLOและWORLDสามารถสับในรูปแบบHWEOLRLLODหรือหรือบางทีอาจจะเพียงแค่HEWORLLLDOHELLOWORLD มันเป็นไม่ได้สับเปลี่ยนถ้าคำสั่งเดิมของตัวอักษรไม่ได้เก็บรักษาไว้ ยกตัวอย่างเช่นDในWORLDไม่เคยปรากฏมาก่อนRหลังจากที่ถูกสับ ซึ่งหมายความว่าEHLLOWRDLOยกตัวอย่างเช่นไม่ใช่การสับเปลี่ยนHELLOและWORLDแม้ว่าจะมีตัวอักษรต้นฉบับทั้งหมด สตริงคือการสลับของแฝดถ้ามันสามารถเกิดขึ้นได้โดยการสับสองสายเหมือนกัน ยกตัวอย่างเช่นABACBDECDEเป็นสับเปลี่ยนของฝาแฝดเพราะมันสามารถเกิดขึ้นโดยการสับและABCDE ไม่ใช่การสับเปลี่ยนของฝาแฝดเนื่องจากไม่สามารถขึ้นรูปได้โดยการสลับสองสายเหมือนกันABCDEDBEACBCADE รายละเอียดโปรแกรม รับสตริงอินพุตเอาต์พุต0ถ้าไม่ใช่การสลับแบบแฝดและส่งเอาต์พุตหนึ่งในสตริงแฝดหากเป็นสับเปลี่ยนของฝาแฝด คุณอาจคิดว่าสายป้อนมีความยาวรวมระหว่างสี่ถึงยี่สิบอักขระและประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่ทั้งหมด มันควรจะสามารถทำงานในเวลาที่เหมาะสมพูดภายใต้ 10 นาที นี่คือรหัสกอล์ฟดังนั้นทางออกที่สั้นที่สุดชนะ ตัวอย่าง I / O > ABACBDECDE ABCDE > DBEACBCADE 0 > FFFFFF FFF > FFGGG 0 > ABBA 0 > AABB AB > AABAAB AAB ผมมีตัวอย่าง (ที่ไม่แข็งแรงเล่นกอล์ฟ) การดำเนินงาน