|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
https://www.luogu.com.cn/problem/P1042
- #include <iostream>
- #include<cmath>
- using namespace std;
- char a[2509];
- void ping(int num)
- {
-
-
- int w=0;
- int l=0;
-
- for (int i=0;a[i]!='\0';i++)
- {
- if(a[i] == 'W')w++;
- if(a[i] == 'L')l++;
-
- if ((w>=num || l>=num) && abs(w-l)>=2)
- {
- cout << w << ":" << l << endl;
- w=0;
- l=0;
- }
- }
-
- if ((w>=0) || (l>=0))cout << w << ":" << l << endl;
-
-
- }
- int main()
- {
- char n;
- int i=0;
-
- while (cin>>n&&n!='E')
- {
- if(n=='W'||n=='L')
- {
- a[i] = n;
- i++;
- }
-
- }
-
- ping(11);
- cout << endl;
- ping(21);
-
- }
复制代码
求解测试点4,5,6,7 RE
- #include<iostream>
- #include<cmath>
- #include<algorithm>
- using namespace std;
- int f[2] = {11, 21};
- int a[25 * 2500 + 10], n = 0; char tmp;
- int main() {
- while(1) {
- cin >> tmp;
- if(tmp == 'E') break;
- else if(tmp == 'W') a[n++] = 1;
- else if(tmp == 'L') a[n++] = 0;
- }
- for(int k = 0; k < 2; k++){
- int w = 0, l = 0;
- for(int i = 0; i < n; i++ ){
- w += a[i]; l += 1 - a[i];
- if((max(w, l) >= f[k]) && abs(w - l) >= 2){
- cout << w << ":" << l << endl; w = l = 0;
- }
- }
- cout << w << ":" << l << endl;
- cout << endl;
- }
- return 0;
- }
复制代码
|
评分
-
查看全部评分
|