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

原创 2014年10月01日 12:02:01

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

题目详情:

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


题目很简单,不过第一次做的时候寝室很吵没心思做但已有思路,于是早上起来花时间做了,在自己机器上是对的呀,可是提交到CSDN平台就有错误,不明白为什么,希望有高手可以指出

#include<stdio.h>
#include<string.h>
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF){
	int i,j;
	char a[300][300];
	char c[300],d[300],x=0,y=0;
	char c1[300],d1[300];
	int clen=0,dlen =0;
	int val=1;
	for(i=0;i<n;i++)
		for(j=0;j<=n;j++)
			scanf("%c",&a[i][j]);
	/*for(i=0;i<n;i++)
		for(j=0;j<=n;j++)
			printf("%c",a[i][j]);*/
	for(i=0;i<n;i++)
		for(j=0;j<=n;j++)
		{
			if(i==j||i==(n-1-j))
				c[x++]=a[i][j];
			else 
				d[y++]=a[i][j];
			}
	j = 0;
	for(i=0;i<=n*n;i++)
		if(c[i]!='\n')
			c1[j++]=c[i];
	j = 0;
/*	for(i=0;i<=n*n;i++)
		if(d[i]!='\n')
			d1[j++]=d[i];
	printf("%s,%s",c1,d1);*/
	clen = strlen(c1);
	dlen = strlen(d1);
	//printf("%d,%d",clen,dlen);	
	for(i= 0;i<clen;i++)
		if(c1[0]!=c1[i])
		val=0;
	for(j = 0;j<dlen;j++)
		if(d1[0]!=d1[j])
		val=0;
if(d1[0]==c1[0])
		val=0;
if(val==1)
	printf("YES\n");
else
	printf("NO\n");	
	}
return 0;		
		    
	
}


版权声明:转载请注明出处

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

题目详情: http://student.csdn.net/mcs/programming_challenges Peter是个小男孩,他总是背不清26个英文字母。于是,刁钻的英语老师给他布置了一个...
  • u012435889
  • u012435889
  • 2014年11月17日 19:38
  • 889

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

题目详情 Peter是个小男孩,他总是背不清26个英文字母。于是,刁钻的英语老师给他布置了一个非常奇怪的作业,老师给了他一个由26个英文字母构成的N*N 的矩阵(我们保证N一定是一个奇数),问他这个...
  • l_vaule
  • l_vaule
  • 2014年10月08日 23:15
  • 682

线下编程2题-Peter的x

#include #include char s[300][300]; int main() {  int i,j;  char temp1,temp2;  int n;  whi...
  • ClientsHome
  • ClientsHome
  • 2014年10月10日 23:26
  • 232

CSDN 四川大学线下比赛第一题

#include #include using namespace std; #define MAX_N 40 int a[MAX_N][MAX_N]; int main(){    ...
  • u013008291
  • u013008291
  • 2014年09月30日 22:54
  • 409

MSC阿里比赛第二题详解

MSC阿里比赛第二题详解
  • guiguzi1110
  • guiguzi1110
  • 2015年01月29日 18:38
  • 4126

CSDN 四川大学线下编程比赛第一题:数字填充

四川大学线下编程比赛第一题:数字填充 发布公司: 有 效 期: CSDN 2014-09-27至2015-09-26 难 度 等 级: 答 题 时 长: 编程语言要求...
  • u011699990
  • u011699990
  • 2014年10月14日 22:46
  • 923

四川大学线下编程比赛第三题:书本转移

题目详情 小强有 3 个箱子 A,B,C 用来装书,所有的书(一共n本)都按序号由小到大的顺序堆在 A上,现在他想把所有的书全都放到 C 里面去。每次他从 A 书架拿 a 本书(不够就全拿完...
  • xiaobei1a2b3c
  • xiaobei1a2b3c
  • 2014年10月03日 20:31
  • 572

四川大学线下编程比赛第三题:书本转移C程序

四川大学线下编程比赛第三题:书本转移 题目详情: 小强有 3 个箱子 A,B,C 用来装书,所有的书(一共n本)都按序号由小到大的顺序堆在 A上,现在他想把所有的书全都放到 C 里面去。每次他...
  • mnmdsf
  • mnmdsf
  • 2014年10月03日 11:25
  • 460

四川大学线下编程比赛第一题:数字填充

题目详情 Peter是个小男孩,他总是背不清26个英文字母。于是,刁钻的英语老师给他布置了一个非常奇怪的作业,老师给了他一个由26个英文字母构成的N*N 的矩阵(我们保证N一定是一个奇数),...
  • xiaobei1a2b3c
  • xiaobei1a2b3c
  • 2014年10月03日 20:29
  • 899

代码:解题两个乒乓球队比赛,各出三人,甲队ABC三人,乙队XYZ三人。A不与X比,C不与X,Z比,用程序找出三对对手。

题目:两个乒乓球队比赛,各出三人,甲队ABC三人,乙队XYZ三人。A不与X比,C不与X,Z比,用程序找出三对对手。 #include int main() { char a[3]={'X'...
  • qq_33810513
  • qq_33810513
  • 2016年01月24日 16:06
  • 1728
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CSDN四川大学线下编程比赛第二题:Peter的X
举报原因:
原因补充:

(最多只允许输入30个字)