解题思路:下面两点就是要找规律,数感也还是很重要的,语感数感理解能力

注意事项:

参考代码:

'''

输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行、同列、同一对角线的所有格子的位置。


如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图:


同行列对角线的格子


当n=4,i=2,j=3时,输出的结果是:


(2,1) (2,2) (2,3) (2,4)                        同一行上格子的位置


(1,3) (2,3) (3,3) (4,3)                        同一列上格子的位置


(1,2) (2,3) (3,4)                                左上到右下对角线上的格子的位置


(4,1) (3,2) (2,3) (1,4)                        左下到右上对角线上的格子的位置


输入格式

一行,三个自然数N,i,j,相邻两个数之间用单个空格隔开。1 <= N <= 10。

输出格式

四行:

第一行:从左到右输出同一行格子位置;

第二行:从上到下输出同一列格子位置;

第三行:从左上到右下输出同一对角线格子位置;

第四行:从左下到右上输出同一对角线格子位置。

其中每个格子位置用如下格式输出:(x,y),x为行号,y为列号,采用英文标点,中间无空格。

相邻两个格子位置之间用单个空格隔开。

样例输入复制

4 2 3

样例输出复制

(2,1) (2,2) (2,3) (2,4)

(1,3) (2,3) (3,3) (4,3)

(1,2) (2,3) (3,4)

(4,1) (3,2) (2,3) (1,4)

'''

n,i,j=map(int,input().split())

for k in range(n):

    print('({},{})'.format(i,k+1),end=' ')

print()

for k in range(n):

    print('({},{})'.format(k+1,j),end=' ')

print()

for k in range(1,n+1):

    for l in range(1,n+1):

        if l-k==j-i:

            print('({},{})'.format(k,l),end=' ')

    

print()

for k in range(n,0,-1):

    for l in range(1,n+1):

        if l+k==i+j:

            print('({},{})'.format(k,l),end=' ')

    

print()


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论