• 五子棋(右)从给定点开始向上共有多少个连续的相同颜色的子?


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

    描述:

    五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在古代,五子棋棋具虽然与围棋相类同,但是下法却是完全不同的。正如《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜”。
    五子棋传统棋子分为黑白两色,棋盘为15*15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。
    此题要求同学们编写程序,求出从给定点开始向上共有多少个连续的相同颜色的子(包括此点)。

    输入:

    对于本题,首先读入的是当前棋盘的状态,共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
    7 0

    输出样例:

    3

    #include<stdio.h>
    int main()
    {
        int i,j,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(i=R,j=C;i>=0;i--)  
              if(Arr[i][j]==Arr[R][C])
               count++;
           else break;
            printf("%d\n",count);
        return 0;
    }
  • 相关阅读:
    根据模板查找目标控件
    DataGrid 通过行内容动态改变背景色
    Linq to XML
    数据库开发篇-基础篇
    序列化
    文件监控系统
    NewtonSoft JSON For Net
    java中如何把一个String类型的变量转换成double型的?
    在eclipse中查看某个方法被哪些类调用
    linux: su 无法设置用户ID: 资源暂时不可用
  • 原文地址:https://www.cnblogs.com/IThaitian/p/2584437.html
Copyright © 2020-2023  润新知