今天的微软网申笔试第一题,真是无语了

题目很简单,但是一直提示RE(running error)
代码如下:

#include<stdio.h>
#include<string.h>
void exchange(int *a,int *b)
{
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}
int abs(int a)
{
    if(a<0) a=-a;
    return a;
}
void sequence(int *a,int *b,int *c)
{
    if(*b<*c)
        exchange(b,c);
    if(*a<*b)
        exchange(a,b);
    if(*b<*c)
        exchange(b,c);
}
int main()
{
    int x,y,z;
    int cr=0,cy=0,cb=0;
    int c1,c2,c3;
    int i;
    int sum=0,max=0,max_temp=0;
    char balls[200];
    scanf("%d%d%d",&x,&y,&z);
    sequence(&x,&y,&z);
    scanf("%s",balls);
    i=0;
    while(balls[i]!='\0'&&i<200) i++;
    sum=i;
    for(i=0; i<sum; i++)
    {
        max_temp++;
        if(max_temp>max)
            max=max_temp;
        if(balls[i]=='R') cr++;
        if(balls[i]=='Y') cy++;
        if(balls[i]=='B') cb++;
        sequence(&cr,&cy,&cb);
        c1=(abs(cr-cb));
        c2=(abs(cr-cy));
        c3=(abs(cy-cb));
        sequence(&c1,&c2,&c3);
        if(x==c1&&y==c2&&z==c3) max_temp=0;
        if(x==c1&&y==c3&&z==c2) max_temp=0;
    }
    printf("%d",max);
}

真是彻底无语了

可以编译

http://ideone.com/P0lc0z

检查下是否符合题意,输入输出是否正确,是否超过内存、cpu时间限制、是否有别的限制。

运行出错,估计是没有通过测试数据,比如你代码没有做好数据边界处理。

我收到微软短信了,但是没有收到测试链接。太坑爹了。。。