最后一个点错误之谜?

这题有坑吧?!
最后一个点WA了,其他全AC。。。
求大神来看看
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
char ch,a[1000001];
int n,w11,l11,w21,l21;
int main()
{
while(scanf("%c",&ch) && ch!='E') a[n++]=ch;
if(n==0)
{
puts("0:0");
puts("");
puts("0:0");
return 0;
}
for(int i=0;i<n;i++)
{
if(w11 >= 11)
{
if( abs(w11-l11) >=2)
{
printf("%d:%d\n",w11,l11);
w11=0;
l11=0;
}
}
if(l11 >= 11)
{
if( abs(w11-l11) >=2)
{
printf("%d:%d\n",w11,l11);
w11=0;
l11=0;
}
}
if(a[i]=='W') w11++;
else if(a[i]=='L') l11++;
}
printf("%d:%d\n\n",w11,l11);
if(n==1) puts("0:0");
for(int i=0;i<n;i++)
{
if(w21 >= 21)
{
if( abs(w21-l21) >=2)
{
printf("%d:%d\n",w21,l21);
w21=0;
l21=0;
}
}
if(l21 >= 21)
{
if( abs(w21-l21) >=2)
{
printf("%d:%d\n",w21,l21);
w21=0;
l21=0;
}
}
if(a[i]=='W') w21++;
else if(a[i]=='L') l21++;
}
printf("%d:%d\n\n",w21,l21);
if(n==1) puts("0:0");
}

5 条评论

  • @ 2016-09-02 19:11:11

    @lrj124 您的代码我在其他网站看过,只求有谁能改我的代码

  • @ 2016-09-02 14:11:43
    #include <algorithm>
    #include <iostream>
    #include <map>
    using namespace std;
    //ifstream cin("table.in",ios :: in);
    //ofstream cout("table.out",ios :: out);
    int main() {
      ios :: sync_with_stdio(false);
      char ch;
      map <char,int> cnt11,cnt21;
      int tmp = 0,t[100001][2];
      while (cin >> ch) {
        if (ch == 'E') break;
        if (ch != '\n') {
          cnt11[ch]++;
          cnt21[ch]++;
        }
        if ((cnt11['W'] >= 11 || cnt11['L'] >= 11) && abs(cnt11['W']-cnt11['L']) >= 2) {
          cout << cnt11['W'] << ':' << cnt11['L'] << '\n';
          cnt11['W'] = 0;
          cnt11['L'] = 0;
        }
        if ((cnt21['W'] >= 21 || cnt21['L'] >= 21) && abs(cnt21['W']-cnt21['L']) >= 2) {
          t[++tmp][1] = cnt21['W'];
          t[tmp][2] = cnt21['L'];
          cnt21['W'] = 0;
          cnt21['L'] = 0;
        }
      }
      cout << cnt11['W'] << ':' << cnt11['L'] << "\n\n";
      for (int i = 1;i <= tmp;i++) cout << t[i][1] << ':' << t[i][2] << '\n';
      cout << cnt21['W'] << ':' << cnt21['L'];
      return 0;
    }
    
  • @ 2016-09-01 21:40:38

    看不懂pascal,有没有人纠正我的c++代码
    求大神

  • @ 2016-09-01 19:27:23

    @ysm 这是pascal的
    pascal
    var
    a,b:ansistring;
    c:char;
    i,w,l,n:longint;
    begin
    while c<>'E' do
    begin
    read(c);
    if c='W'
    then
    begin
    a:=a+c;
    w:=w+1;
    end;
    if c='L'
    then
    begin
    a:=a+c;
    l:=l+1;
    end;
    if ((w>=11) or (l>=11)) and (abs(w-l)>=2)
    then
    begin
    writeln(w,':',l);
    w:=0;
    l:=0;
    end;
    end;
    writeln(w,':',l);
    writeln;
    w:=0;
    l:=0;
    for i:=1 to length(a) do
    begin
    if a[i]='W'
    then
    w:=w+1;
    if a[i]='L'
    then
    l:=l+1;
    if ((w>=21) or (l>=21)) and (abs(w-l)>=2)
    then
    begin
    writeln(w,':',l);
    w:=0;
    l:=0;
    end;
    end;
    writeln(w,':',l);
    readln;
    end.

  • @ 2016-08-31 21:58:46

    评测结果
    编译成功

    测试数据 #0: Accepted, time = 0 ms, mem = 1536 KiB, score = 10
    测试数据 #1: Accepted, time = 0 ms, mem = 1532 KiB, score = 10
    测试数据 #2: Accepted, time = 0 ms, mem = 1532 KiB, score = 10
    测试数据 #3: Accepted, time = 15 ms, mem = 1532 KiB, score = 10
    测试数据 #4: Accepted, time = 0 ms, mem = 1532 KiB, score = 10
    测试数据 #5: Accepted, time = 15 ms, mem = 1532 KiB, score = 10
    测试数据 #6: Accepted, time = 15 ms, mem = 1532 KiB, score = 10
    测试数据 #7: Accepted, time = 0 ms, mem = 1536 KiB, score = 10
    测试数据 #8: Accepted, time = 0 ms, mem = 1540 KiB, score = 10
    测试数据 #9: WrongAnswer, time = 0 ms, mem = 1536 KiB, score = 0
    WrongAnswer, time = 45 ms, mem = 1540 KiB, score = 90

    • @ 2017-12-29 20:45:16

      我也是,我先都不知道哪有问题

  • 1

信息

ID
1217
难度
6
分类
字符串 点击显示
标签
递交数
12575
已通过
2990
通过率
24%
上传者