OX_pattern

#include<stdio.h>
#include<stdlib.h>

#define SIZE 10000

static int data[SIZE];
int test_main(int data[SIZE]);
static void build(){
    for(int i=0;i<SIZE;i++)
        data[i]=(rand()%2)? 'o':'x';
}
int main(){
    for(int l=0;l<10;l++){
        build();
        printf("%d
",test_main(data));
    }

}
//int test(int data[SIZE]) 
//{
//    int count=0;
//    for(int i=0;i<SIZE-2;i++)
//    {
//        int index=i;
//        if(data[i]=='o'&&data[i+1]=='o'&&data[i+2]!='o')
//        {
//            index=index+3;
//            while(data[index]=='x')
//                index++;
//            if(data[index]=='o'&&data[index+1]=='o'&&data[index+2]!='o')
//            {
//                index=index+3;
//                while(data[index]=='x')
//                    index++;
//                if(data[index]=='o')
//                {
//                    count++;
//                    i=index;
//                }
//            }
//        }
//    }
//
//return count;
//}



int test_main(int data[SIZE])
{
    int count = 0;
    for(int i=0;i<SIZE-2;i++)
    {
        if(data[i]=='o'&&data[i+1]=='o'&&data[i+2]!='o')
        {
            i += 3;
            while(data[i] == 'x')
                i ++;
            if(data[i]=='o'&&data[i+1]=='o'&&data[i+2]=='x')
            {
                i += 3;
                while(data[i] == 'x')
                    i ++;
                if(data[i]=='o')
                    count++;
            }
        }
    }
    return count;
}
原文地址:https://www.cnblogs.com/xcsllll/p/6631023.html