CSDN 四川大学线下编程比赛第二题:Peter的X

CSDN 四川大学线下编程比赛第二题:Peter的X

大家好,又见面了,我是全栈君。

题目详情:

http://student.csdn.net/mcs/programming_challenges

Peter是个小男孩。他总是背不清26个英文字母。

于是,刁钻的英语老师给他布置了一个很奇怪的作业。老师给了他一个由26个英文字母构成的N*N 的矩阵(我们保证N一定是一个奇数),问他这个矩阵构成的图案是否是一个标准的“X”。

一个标准的X的定义:1、对角线上全部元素都是同一个字母。2、全部非对角线上的元素也都是同一个字母。且字母与对角线上的字母不同。

假设是则输出“YES”。否则输出“NO”。

输入描写叙述:

多组測试数据(数据量在100组以内)。每组測试数据第一行为一个整数N(1<=N<=300),表示表格的大小。

以下是N行是一个由字母构成的N*N的矩阵。

输出描写叙述:

对于每组输入数据,输出一行“YES”或“NO”。


输入例子:

5

xooox

oxoxo

soxoo

oxoxo

xooox

3

wsw

sws

wsw

3

xpx

pxp

xpe

输出例子:

NO

YES

NO

题目分析:

简单的模拟推断题,首先推断主对角线。然后推断副对角线,之后推断其它位置,最后推断对角线的元素是否和其它位置的元素一样。

AC代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[303][303];
int JudgeX(int n){
    if(n==1) return 1;
    char c1=a[1][1],c2;
    for(int i=1;i<=n;i++){//推断主对角线
        if(a[i][i]!=c1) return 0;//不是
    }
    for(int i=1;i<=n;i++){//推断副角线
        if(a[i][n+1-i]!=c1) return 0;//不是
    }
    c2=a[1][2];
    for(int i=1;i<=n;i++){//其它
        for(int j=1;j<=n;j++){
            if(i!=j&&(i+j)!=(n+1)){
                if(a[i][j]!=c2) return 0;
            }
        }
    }
    if(c1==c2) return 0;//别忘了不能相等了
    return 1;
}
int main()
{
    int n;
    while(cin>>n){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                cin>>a[i][j];
            }
        }
        if(JudgeX(n)) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116492.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql is not null 优化(oracle语句索引优化)

    oracle优化:ISNULL的优化优化方法:通过nvl(字段i,j),将字段i中为空的数据转化为j,从而将条件iisnull转化为j=nvl(i,j);转化isnull在所用oracle版本提升明显,注意:使用时必须确保字段i的数据不包含j!函数介绍:nvl(a,b,c,…)当a为空时取b,当b为空取c,以此类推.优化示例select*fromtab_i…

    2022年4月17日
    577
  • js有几种数据类型,基本数据类型有哪些_js中简单数据类型

    js有几种数据类型,基本数据类型有哪些_js中简单数据类型js中数据类型分为原始数据类型与引用数据类型原始数据类型:number//数值类型:值只能为数字vara=12string//字符串类型:值都是以引号包裹的vara=’你好’boolean//布尔类型:值只存在真假vara=truevara=falsenull//空类型vara=nullundefined//未定义类型:定义了变量a,但是没有a赋值varaconsole.log(a

    2025年9月18日
    5
  • Hexo-Matery主题细致美化

    Hexo-Matery主题细致美化Hexo-Matery主题美化在一番瞎改js代码后,终于无法忍受next主题,于是愤然投入Matery大家庭,结果证明,香!下面是我记录的配置Matery主题的流程,仅供后来的师傅们参考。大家可以来我Hexo博客主页看看具体效果我的小站下载安装Matery主题首先在hexo官网主题里面搜索Matery主题点击进入作者大大的github,然后下载master分支的最新稳定版的代码,解压缩后将hexo-theme-matery的文件夹重命名为matery,复制到Hexo的theme

    2022年5月19日
    58
  • 计算机基本配置清单表3500,3500元电脑配置清单

    计算机基本配置清单表3500,3500元电脑配置清单3500元电脑配置清单很多游戏发烧友在攒机时搭配了高效能的硬件,可以获得更加畅爽的游戏体验,不过对于普通的用户来说,高性价比的主机就可以满足日常影音及娱乐使用需求,更加亲民的价格也是吸引更多用户的基础,下面我们就为您推荐3500元价位的主机配置,追求性价比的朋友不妨看看。我们首先选择英特尔的i3-4170处理器,这款CPU基于Haswell架构设计,22nm制程,双核心四线程,主频为3.7GHz,…

    2022年7月27日
    8
  • Python网络爬虫实战项目代码大全「建议收藏」

    Python网络爬虫实战项目代码大全「建议收藏」WechatSogou [1]-微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。 DouBanSpider [2]-豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数&gt;1000的高分书籍;可依据不同的主题存储到Excel不同的Shee…

    2022年5月20日
    34
  • MODIS数据介绍及下载

    MODIS数据介绍及下载MODIS数据简介中分辨率成像光谱仪(MODerate-resolutionImagingSpectroradiometer)-MODIS是Terra和Aqua卫星上搭载的主要传感器之一。MODIS标准数据产品根据内容的不同分为0级、1级数据产品,在1B级数据产品之后,划分2-4级数据产品,包括:陆地标准数据产品、大气标准数据产品和海洋标准数据产品等三种主要标准数据产品类型,总计分解为44种标准数据产品类型。数据产品的详细介绍参考博文。官网下载数据数据产品投影MODIS数据采用正弦投影(Sin

    2022年5月30日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号