สมมติว่าเรามีสตริง S ยาว พิจารณาว่ามีตัวเลข n ตัวและเรียงกันเป็นวงกลม เราไม่ทราบค่าของตัวเลขเหล่านี้ แต่ถ้า S[i] ='E' แสดงว่าหมายเลข ith และ (i+1) เหมือนกัน แต่ถ้าเป็น 'N' ค่าเหล่านั้นจะต่างกัน จาก S เราต้องตรวจสอบว่าเราสร้างลำดับใหม่ได้หรือไม่
ดังนั้นหากอินพุตเป็น S ="ENNEENE" ผลลัพธ์จะเป็น True เพราะเราสามารถกำหนดค่าได้เช่น [15,15,4,20,20,20,15]
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
if S has single 'N', then: return false return true
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include<bits/stdc++.h> using namespace std; bool solve(string S){ if (count(S.begin(), S.end(), 'N') == 1) return false; return true; } int main(){ string S = "ENNEENE"; cout << solve(S) << endl; }
อินพุต
"ENNEENE"
ผลลัพธ์
1