不是VIP会员,不能显示答案

题目解答

题目:
# include <iostream>

# include <cstdio>

using namespace std;

int L, ans;

char a[2002][2002];

int cross(int x, int y) {

int length=1;

if(x<=1||x>=L)return 1;

for (int i=1;; i++) {

if(x-i<=0||x+i>=L+1) return length;

else if (a[x-i][y]!=a[x+i][y]) return length;

else length +=2;

}

}

int down(int x, int y) {

int length=1;

if(y<=1||y>=L) return 1;

for (int i=1;; i++) {

if(y-i<=0||y+i>=L+1)return length;

else if (a[x][y-i]!=a[x][y+i]) return length;

else length += 2;

}

}

int MAXN(int a, int b) {

if(a >= b) return a;

else return b;

}

int main() {

cin>>L;

for(int i=1; i<=L; i++)

for(int j=1; j<=L; j++)

cin>>a[i][j];

int x, y;

cin>>x>>y;

ans=MAXN(cross(x,y),down(x,y));

cout<<ans;

return 0;

}


判断题

1) 第35行若改成 MAXN(down(x,y), cross(x,y)),运行结果不变。()

2) 第34行输入值包含0时,程序可能会产生Runtime Error。( )

3) 程序输出的ans可能等于0。( )

4) 当第34行输入值x>y时,cross(x,y)返回值必然大于down(x,y)返回值。( )


选择题

5) 对于输入的L×L.的字符矩阵,ans值最大是( )。

6) 若输入L=5,x=y=3,aij={{abcba} , {bcdcb} ,{cdedc},{bcdcb},{abcba}},则输出是( )。
考点:
分析:
解答:
评论:
老师: