五子棋(horizontal)求出给定点的水平方向共有多少个连续的相同颜色的连子

时限:1000ms 内存限制:10000K  总时限:3000ms

描述:

此题要求同学们编写程序,求出给定点的水平方向共有多少个连续的相同颜色的连子(包括此点)。

输入:

对于本题,首先读入的是当前棋盘的状态,共15行,每行15个数字,1代表白棋,2代表黑棋,0代表为空格(未下子)。第16行有2个数字R,C代表给定点的行和列。

输出:

连续颜色子的个数。

输入样例:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
1 1 1 0 0 0 0 0 0 0 2 2 0 0 1
0 2 2 2 0 0 0 0 2 0 0 0 0 0 1
0 1 0 1 1 0 2 0 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0 2 0 0 1 0 0 0
2 0 0 0 0 1 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 1 0 1 0 0 0
2 0 0 0 0 0 0 1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 2 1 0 0 0 0 1 0
0 0 0 0 0 0 2 2 0 0 0 0 1 0 0
2 0 0 0 0 2 0 0 0 0 0 1 0 0 0
0 2 0 1 1 0 0 2 0 0 0 0 0 0 0
0 0 2 0 0 0 0 0 0 1 0 0 0 0 0
0 2 2 2 2 0 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
1 1

输出样例:

3

#include<stdio.h>
int main()
{
    int i,j,k=0,count=0;
    int R,C;
    int Arr[15][15]={0};
    for(i=0;i<15;i++)
       for(j=0;j<15;j++)
          scanf("%d",&Arr[i][j]);

    scanf("%d%d",&R,&C);
    for(j=C;j<15;j++)
        if(Arr[R][j]==Arr[R][C]) count++;
        else break;
    for(j=C-1;j>=0;j--)
        if(Arr[R][j]==Arr[R][C]) count++;
        else break;

    printf("%d\n",count);
    return 0;
}

 

posted on 2012-07-10 13:01  IThinktan  阅读(339)  评论(0编辑  收藏  举报

导航