五子棋(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; }