fork(1) download
  1. // @_@ realRPG $_$ //
  2. #include "bits/stdc++.h"
  3. #include "iostream"
  4. #define lli long long int
  5. #define ll long long
  6. #define ull unsigned long long
  7. #define ulli unsigned long long int
  8. #define vi vector <int>
  9. #define vs vector <string>
  10. #define vl vector <ll>
  11. #define vpi vector <pair <int,int> >
  12. #define vps vector <pair <string,string> >
  13. #define vpl vector <pair <ll,ll> >
  14. #define all(a) a.begin(), a.end()
  15. #define rall(a) a.rbegin(), a.rend()
  16. #define fi(i,a,b) for(int i=a; i<b; i++)
  17. #define fl(i,a,b) for(ll i=a; i<b; i++)
  18. #define rfi(i,a,b) for(int i=a; i>=b; i--)
  19. #define efl(i,a,b) for(ll i=a;i>=b; i--)
  20. #define pb push_back
  21. #define mk make_pair
  22. #define ep emplace_back
  23. #define F first
  24. #define S second
  25. #define sc scanf
  26. #define pr printf
  27.  
  28. using namespace std;
  29.  
  30. const int mod = 1000000007;
  31.  
  32. inline int fsc() {
  33. int ip = getchar(), ret = 0, flag = 1;
  34.  
  35. for (;ip<'0' || ip>'9';ip = getchar())
  36. if (ip == '-') {
  37. flag = -1;ip = getchar();
  38. break;
  39. }
  40.  
  41. for (;ip >= '0'&&ip <= '9';ip = getchar())
  42. ret = ret * 10 + ip - '0';
  43.  
  44. return flag*ret;
  45. }
  46.  
  47. int main(){
  48. ios_base::sync_with_stdio; cin.tie(NULL); cout.tie(NULL);
  49. int t=fsc(); ll ind=1;
  50. while(t--){
  51. string s; cin>>s;
  52. int a[s.length()]; ll tim=0;
  53. fi(i,0,s.length()){
  54. if(s[i]=='B'){
  55. a[i]=1;
  56. tim++;
  57. }
  58. else{
  59. a[i]=0;
  60. }
  61. }
  62. ll x,y; cin>>x>>y;
  63. x--; y--;
  64. ll a1=x%s.length();
  65. ll a2=y%s.length();
  66.  
  67. if(x/s.length()==y/s.length()){
  68. ll ct=0;
  69. fi(i,a1,a2+1){
  70. if(a[i]==1)
  71. ct++;
  72. }
  73. cout<<"Case #"<<ind<<": "<<ct<<"\n";
  74. }
  75. else{
  76. ll ct=0;
  77. fi(i,a1,s.length()){
  78. if(a[i]==1){
  79. ct++;
  80. }
  81. }
  82. fi(i,0,a2+1){
  83. if(a[i]==1)
  84. ct++;
  85. }
  86. ll b1=x/s.length();
  87. ll b2=y/s.length();
  88. ll di=b2-b1;
  89. di--;
  90. di *=tim;
  91. cout<<"Case #"<<ind<<": "<<ct+di<<"\n";
  92. }
  93. ind++;
  94.  
  95. }
  96. return 0;
  97. }
  98.  
Success #stdin #stdout 0s 16064KB
stdin
100
BBBRRBBRBBBRRBRRRRBRRBRBBBRRRR
4391 998016
BRRRRRBRRRRBRRRRRRRRRRRBBRRRRRRRRRRRRBRRR
8125 997021
RR
3031 995356
RBBRRBRRRRRRBRRRRRRRRBRBRBRBRBBRRRBRRBRBBRRRBRRRRRRRBRRRRR
9911 990469
B
1 1000000
RRBBBBRBRBBRRBRRRRRRRBBRRRRRRRRBRRRRRR
4214 996987
RBRRBRBRRBBRRBR
8502 996266
RRBRBRRBRBRBBBBBBRRBBRRRRBBRRRRB
3925 997632
BBRRBRBRBRBBBRRRBBRRBRRRRRRRRBRR
2108 996534
BRBBBRRRBBBBRRRRRRBBRRRBRBRBBBRRBBBRBRRRBBRRBBRBBBBBBBBBBBRRRBRBRRRBRRBBBRRBBRBBRR
7275 994035
RRRBBBRBBR
4787 996983
RRRRRRBRRRRRRRRRRRRRRRRRRRRRBRRRRRBRRRRRRRBRRRRRRRRBBRRRRRRRRRRRRRRRRRRRRBRRRRRRBRRR
7587 998450
BRRRRBBBBBBBRBRRRBRRBBRBBRRBRBRRBRBBRRRB
3721 999360
BBBBBRBBBBBBBRBBBBBBBBRBBBBBBBBBBBBBBBBBBBBRBBBBBRBBBBBBRRBBBBRBBBBBBRBRBBRBBBRRBBBBRBRBBRBBBB
4840 995605
BBRBBRBBBBBBBBRBRBRRRRBBBRBRBBRBBBBRRRBBBBBBBBBBBRRBRBBBRRRRBBBRRRBBBBRRRRRBRRBRRRBBRBBBRBBRBB
7723 995313
RRBRRRBRBRRRRRBRRRRBRRRBBRRRBBBBRRRBRRBBBBRRRRRRB
2197 998434
BRRRRRRRRRRBRRBBRBBRRBBBRRRRRRBRRBRBRBRRRRRRRRRRRRRRRRRRRRBBRRRBRRRR
8350 999732
RBBRRBBBBRRBBBBBRBRRRRRBBRBBBBBBRBBBRBBBBBBRBBRRBBBRBBBBRR
6418 990811
R
1 1
RRRRRRRRRRRBRRRRRRBRRRRBRRRBRRB
1750 997395
RRBBBRBBRBRBBBBBBRBBBRBBBBBBBRBRRBBBBBBBBBBBBB
2339 991478
BRBRRBRRBBBRRRRRRRRRBBRRRRBRRRBRRRBRRRBRRBRRBR
4189 995049
RBBRBBBBRBRBBBBBBBBBBBRRRBBRRRBRBBRRBBRBR
8558 991286
BRBRBRRBBBRBR
2116 999543
BBBRRRBRRRRRRRRBRBBRRRRRRBBRRRBRRRRRRBRRRRRRRBRRRRBRRRBBBBRBBBBRRBBRRR
1036 996615
RRRRRRRRRRRRRBRRRRRRRRBBRRR
1408 998507
BRBBBBBBRBRBRBBBRRRRBBRBRBBBBB
5973 996415
BRRRRRRRRRRBRRRRRRR
3766 993396
RRRRBBRRRBBRBBRRBRRRRRRRRBBBRBBRRRRBBBBRRBBRRBBRRRRRRBRRRBBRRBBRBRRRBRBRRRRRRRBRRBRRRRBRB
8468 990097
RRRRRRBRBBRRRR
6070 997145
BRBRRBRRRBBBBRRRBBBBRBRBRBRBRRBRBRRBBRBBBRRBRRBRRRBRBBBBRBBBBRBRRBBBRBRBBBRRBBRBBBBRRRRRBBBBBRBBRBRR
1 1000000
RRBRRBBRBBBRBRBRBRBBRBRRBBBBRBRBRBBRBRRRRRRRRBRBBRRBBRRRRBRRRRRBRBRBBBBRRRRBBRRRRRRRRRBRBBRRR
301 997684
BB
57 990541
BRRBRRBRBRRRRBBRRRRRRRBBRRRRBRRRRRR
3501 999668
RRBRBBRRRRRBBRBBRBBRRRBRRBRB
359 990123
RBRBBBBRRBRBBBR
9122 995881
RRRBRRBRBRRBRBRBBRRBBBRRBRRR
5253 992947
RRR
8196 998732
RBBRRRRRRRBBRRRRRRRRRRRRRRR
1764 998011
RRRBBBBBRRBBRRR
1095 991670
BBBBBRRBBBBRBRBBBRBBBBBBBRBBBBBBBBBBBBBBBBRBBBBB
266 996008
BBBBBBBRBBBRBBBRRBBBRBBBBBBBBRBBBBBBRBRBBBBBRBBBBBBBRBBRBBBBBBBBBBBBBBBBBBBBBBBBBB
6720 994827
BBRBBRRRBBRBBRRBRBBBBBRBRBBRBRRBRRBRBRBRBRBRRRBRBRRRRBRBBRRBBRRBRRBBR
6872 990986
RBRBRRBBBBRRBRBRRRRRRRRRRBBRRRRBBBRRRBRRRRRRRRRRRRRRRBBRBRRRRRBRRRBRR
9712 994321
RBRRRBRBBRBBBRRBRR
2674 997884
BRBRRRRRRRBRRBRRBBBRBBRBBBRBBBRBBRRRBRRBBRRRRRBBRRR
3733 994916
BBBBBRBBRRBRRRRRRRBBBBRBBBBRBRBBRRRRBBBBRBBBBRBBBBBRBRRBBBRRRBRRRRRRRBBRRBRBRBBBRRRBRBBBB
5356 990561
BBBRBBRBRBRBRRBRBRBBRBRRBRRRBBBBRBBRBBRBBB
8306 997025
RRBBRRRBBBRBBRRBBRBRBRBBRBBRRBBRBBBBBBRBBRRBRBRBBBRBRBRBB
6084 991649
BBBRBBBRBBBBBRBBBBBRRRBBBBBBRBBBBBRBBBRBBBBBBBBRBBB
7635 992293
BRBRRRRRBBRRRRBRRBRBRRBRBBRRBBRRBBRRBBRRRRB
4965 994719
BBBRBBBBBRBBBBBBBBBBBRBBBBBBBBBBRBBRBBBBRBBBRBBBBBB
600 991365
RRRBRRBRRRRBRBRRRRBRBRBBRRBBBRRB
1205 998927
RRRRRRRRRRRRR
140 995975
RBRRBBRRRRRBBRBBRRRRRRRBRRBRRBBBBBRRRBBRBRBRRBRBBBRBBRRRRRRRBBRRRRBBRRRR
2957 994647
BRRRRRBRBRRRBBRRBRRBRBRRRRBRRRRRBBBBBBRBRRRRRBBBRRBBRRRRRRRBBBRBRRRRBBRBRRRRRBRRRR
6798 992546
RRBBRBBBBBRBBBRRBRBRBBRBBRBBRRBBBRRBBBBBBBBBRBBBBBBRBRBRBBBBBBRBBRRBRBRBBBRRRRBBBBBRRBRBRRRRBBBRBBBB
6338 996066
RRRRBBBBBBRBBBBBRRBRBBRRBRRRRBBBBRBRBRRBRBRRBBRBRBBBRBBBBRRRRBRRBRBBRRBBBR
1587 992620
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
1 1000000
RBBRRRBBBBRBBBBBRBBBBBBRRRBB
7002 990913
RRRRRRRRRBRRRRBBBBBBRBRBRBRBBRBBBR
128 998411
RBRRBRBBBRBBBRBBRRBBBBBBBBBBBRRBBRRRRBBBBBBBRBRRBBBRBRBRBRRBBBBRRBBBRRBBRRRBBBRRRBRBBR
3846 994572
B
7130 996217
RBBRBRRRBBRBBBBBRBBBBRBBRBBBBBBBBRBBRBBBBRRBBRBRBBBBRRBBBRBBBRBBBRBBBBBBRBRRBBRBBBBRR
2382 990494
BBBBBRBBBBBBBBRRRBBBBRBBBBBRBRBRBBBBBBRRBBBRBBBBBRBBRRBBBBRBBBBBRBRBBRBRBRRBBBBRBBB
764 991175
RRRRRBRRRBRRRRRRRRRRBRBRRRRB
9872 996099
BBRBBRRBBRBBBBBRRRBBBRBBBBRRRRBBRRBBBRRRBRBRRBBBBBBRBBR
958 990212
RRRRRRBRRRRRRRRRRRRRRRRR
7637 990986
RBRRRRBRRBBBRBRBRBBRBRRBRBBRRRBBRRRRBBRBRRBRRRRRRRR
9038 993183
BBRRRRRRRRRRRBRBBRBRBRRRRBRRRBRBRBRBRRRRRRRBRRBRRRRRBBBRBRBBBRBRRRR
945 996405
BBBRBBRBBRBBBBBBBBRBRBBBBBBBRBBBBBBBBBBBBBBBBBRBRBBRBBBBBBBBBBBRBRBBBRBBBBBBBBBBRBBBBBBBB
8707 994314
BBBBBBBBB
7730 991815
RBRBRBRRBRBBBRRRRBBBRBRRBBBRRRBRRRRBRRRBRBBBRBBBRBRBBBBBBRBBRRRRBBBRBBRBRBRRR
1040 991983
RRBBBBBRRRBRBRBBRBRBBRRBBBRRBBBBRBBRBRBB
4660 994356
RRRBRBBRRRRRRRBRBRBRRBBRRRRRBRBBBRBBBRRRRRBBRRBRR
602 991792
BBBRBBBBBBBBBBBRBBRBBBBBBBBRBBBBRRBBBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBRBBBBBRBBBBRBBBBBBBRBBBBB
7425 999072
BRBBBBBBBBBBBBBRBRBBBBBBBBRBBRRRBRRRBBRBRBRRBRBBRRRRBRRBBRBRRRBBBRBBBBRRBBBBBBBRBB
4463 990381
RBBBBBBRBBRBBRRBRRBBRBRBB
6936 990968
BBBBBBRBBBBRBBBBRBBBBBBBBBRBBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBBBBBRBBBRBBB
415 999400
BRBRBRBRBBBBBBBBBBBBBBBBBBRBRBBBBBBBBRBRBBBBR
5752 990890
RBBRBBRRR
8811 996330
BBRBBBBB
7365 996931
RRRRRBRRBBRRRRRRRRRRRRRBRRRRBRBRRRRRRBRBRRRRRRRRRBRRRRRRRRBR
3300 999285
RBBBBRBBRRBBRBBBBBBBBBBBBBBBBRBBBRBBRBRBBBBBBBBBBRRBRBBBRRBRRRBBRBRRBRBR
2724 999702
R
1 1000000
RRRRRRRBRRBRRBRRRBBRBRRRBRRRRRBBRRRRRRRRBRRRRRRRBRRBBRRRRRRRBRRRRRBRRRBBRRRRRR
620 998061
RRRBBRRRRBRBRBBRRBRBRBBBRRBRBRBRRRBBRRBRBBRBBB
5984 998478
RRBRRRRBRBBBRRBRBRRRRRBRBRRRRRBBRBBRRRRBRRRRRBBBRBBRRRBRBBBRRRBBBBRBRBBBRRBR
7710 996798
BRRBRRBBBBBBBB
5776 995886
BRRRBRBRRBRBBRRBBBBBRRBBBBRBBRBBBBBRRRBRBBBBBBR
9262 994217
BRRRRRBRRRRRRRRBRRRRRRRBRBRRRRRBBBRRRRRBRRR
4751 995313
RRBBRRBRRRBBBRRBBRRBBRBRRBBBBBRRRRRRBBBRBBB
3227 991212
BBBBBBRBBBBBBRBBBBBBBBBBBBBBRBBBBBBBBBRBBBBBBBBBBBBRBBBBBBBBBB
6756 991525
RRBBBRBBBBRBRRBRRBBRRRBBBRRBBRBBBRBRRRBRRRBRRRBRRRRRRBRBRRRBBBBRRRRRRRRRRBBRRRRRRBRRRRRRBRRRRBRRBRRB
1 1000000
B
1 1
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
1 1000000
BBBRBBBBBBBBBBBRBBBBBBBBRBRBBRBBBBBBB
6034 990729
RRRBBRBRRBRBRBRRRRRBBBBBBRRBRRBRBRRBRBBRBRRBRBRRRRBRRBBBRRRRB
3223 998847
BBBBBBBRBRRBBRRRBRBBBRBBBRB
7860 991878
BRBBRBBBBBBBBBBBB
732 998145
stdout
Case #1: 463691
Case #2: 144717
Case #3: 0
Case #4: 270499
Case #5: 1000000
Case #6: 287383
Case #7: 395106
Case #8: 465799
Case #9: 372912
Case #10: 529477
Case #11: 496097
Case #12: 94368
Case #13: 497820
Case #14: 822125
Case #15: 598857
Case #16: 345633
Case #17: 233267
Case #18: 644950
Case #19: 0
Case #20: 160589
Case #21: 774110
Case #22: 301567
Case #23: 623194
Case #24: 537077
Case #25: 327122
Case #26: 110788
Case #27: 660294
Case #28: 104171
Case #29: 352947
Case #30: 212374
Case #31: 550000
Case #32: 407534
Case #33: 990485
Case #34: 256158
Case #35: 424185
Case #36: 592056
Case #37: 388022
Case #38: 0
Case #39: 147592
Case #40: 462268
Case #41: 850531
Case #42: 855558
Case #43: 484924
Case #44: 271126
Case #45: 442316
Case #46: 427570
Case #47: 542417
Case #48: 588523
Case #49: 587879
Case #50: 791589
Case #51: 391300
Case #52: 854779
Case #53: 374147
Case #54: 0
Case #55: 385659
Case #56: 348616
Case #57: 643328
Case #58: 535695
Case #59: 1000000
Case #60: 667656
Case #61: 440421
Case #62: 599045
Case #63: 989088
Case #64: 685869
Case #65: 727892
Case #66: 176112
Case #67: 593551
Case #68: 40973
Case #69: 366642
Case #70: 326866
Case #71: 841644
Case #72: 984086
Case #73: 501911
Case #74: 593819
Case #75: 364112
Case #76: 873080
Case #77: 637234
Case #78: 629779
Case #79: 905747
Case #80: 788111
Case #81: 438898
Case #82: 865871
Case #83: 165998
Case #84: 692347
Case #85: 0
Case #86: 217390
Case #87: 474672
Case #88: 416459
Case #89: 707223
Case #90: 607738
Case #91: 207329
Case #92: 505480
Case #93: 905353
Case #94: 360000
Case #95: 1
Case #96: 0
Case #97: 851629
Case #98: 424366
Case #99: 656014
Case #100: 880070