题意:问能否构成两个珍珠之间链数目相等?
思路:首先,珍珠数目(a)为0或1,答案都为YES,其他情况时:链的数目(b)是珍珠数目(a)的倍数也是YES,
其他情况是NO;
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 7; typedef long long ll; int n, m; int a[maxn]; vector<int> vec; map<int, int> mp; set<int> st; char s[207]; int main() { scanf("%s", s+1); int len = strlen(s+1); int a = 0, b = 0; for(int i = 1; i <= len; ++i) { if(s[i] == 'o') a++; else if(s[i] == '-') b++; } if(a <= 1) { puts("YES"); } else { if(b%a == 0) puts("YES"); else puts("NO"); } return 0; }