สมมติว่าเรามีสตริง 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