题目地址:http://codeforces.com/contest/980/problem/A

 

官方题解:

 

我的理解:o表示珍珠,-表示链子,给一串字符串你可以任意重组这条项链(不能删去),判断这条项链两个珠子之间的链子个数能否相同。

方法:字符串遍历,统计珍珠和链子的数量。珠子如果是0是YES,链子能整除珠子也是YES,其他都是NO。

 

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<string>
 6 #include<iostream>
 7 #include<map>
 8 #include<vector>
 9 #include<set>
10 #include<queue>
11 using namespace std;
12 char s[105];
13 int main()
14 {
15     scanf("%s", s);
16     int len = strlen(s);
17     int zhu = 0;
18     int xian = 0;
19     for (int i = 0; i<len; i++)
20     {
21         if (s[i] == 'o')
22             zhu++;
23         else
24             xian++;
25     }
26     if (zhu == 0)
27         printf("YES\n");
28     else
29     {
30         if (xian%zhu == 0)
31             printf("YES\n");
32         else
33             printf("NO\n");
34     }
35     return 0;
36 }