比赛 2024暑假C班集训C 评测结果 TTTTTTTTTT
题目名称 W&B 最终得分 0
用户昵称 袁书杰 运行时间 19.996 s
代码语言 C++ 内存使用 52.73 MiB
提交时间 2024-07-12 10:35:22
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int T,n,ans,maxn;
  4. string s;
  5. bool check(int x,int y) {
  6. x/=__gcd(x,y),y/=__gcd(x,y);
  7. int w=0,b=0;
  8. for(int i=0; i<s.size(); i++) {
  9. if(s[i]=='W') {
  10. w++;
  11. } else {
  12. b++;
  13. }
  14. int _w=w/__gcd(w,b);
  15. int _b=b/__gcd(w,b);
  16. if(_w==x&&_b==y) {
  17. ans++;
  18. w=0;
  19. b=0;
  20. }
  21. }
  22. if(w==0&&b==0) {
  23. return true;
  24. } else {
  25. return false;
  26. }
  27. }
  28. int main() {
  29. freopen("silly.in","r",stdin);
  30. freopen("silly.out","w",stdout);
  31. ios::sync_with_stdio(false);
  32. cin.tie(0),cout.tie(0);
  33. cin>>T;
  34. while(T--) {
  35. cin>>n;
  36. s="";
  37. for(int i=1; i<=n; i++) {
  38. int x;
  39. char c;
  40. cin>>x>>c;
  41. for(int j=1; j<=x; j++) {
  42. s+=c;
  43. }
  44. }
  45. for(int i=0; i<=n; i++) {
  46. for(int j=0; j<=n; j++) {
  47. ans=0;
  48. if(i==0&&j==0) {
  49. continue;
  50. }
  51. if(check(i,j)) {
  52. maxn=max(maxn,ans);
  53. }
  54. }
  55. }
  56. cout<<maxn<<'\n';
  57. }
  58. return 0;
  59. }