2968.
Find the Diagonal
Time Limit: 1.0 Seconds
Memory Limit: 65536K
Total Runs: 695
Accepted Runs: 223
A square matrix contains equal number of rows and columns. If the order of the matrix is known it can be calculated as in the following format: Order: 3 Order: 5 and so on.. Now look at the diagonals of the matrices. In the second matrix - the elements of a diagonal are marked with circles but this is not the only one in this matrix but there are some other minor diagonals like <6, 12, 18, 24> as well as <2, 8, 14, 20> and many others.
Input
Each input line consists of two values. The first value is the order of the matrix and the later is an arbitrary element of that matrix. The maximum element of the matrix will fit as a 32-bit integer.
Output
Each output line will display the diagonal elements of the matrix containing the given input element.
Sample Input
4 5
5 11
10 81
Sample Output
5 10 15
11 17 23
81 92
Samina Azad (CSE-03)
Source: CUET Easy Contest
Submit
List Runs Forum Statistics
#include
<
iostream
>
using
namespace
std;
int
m , n , a1;
int
a(
int
i) {
return
a1
+
(n
+
1
)
*
(i
-
1
); }
int
main() {
int
i; start:
while
(cin
>>
n
>>
m) {
while
(
1
) {
if
((m
-
1
)
%
n
==
0
||
m
<=
n) { a1
=
m;
break
; }
else
m
-=
n
+
1
; } cout
<<
a1 ;
if
(a1
%
n
==
0
) { cout
<<
endl;
goto
start; }
for
(i
=
2
; ;
++
i) {
int
mm
=
a(i);
if
(mm
<=
n
*
n) { cout
<<
"
"
<<
mm;
if
(mm
%
n
==
0
)
break
; }
else
break
; } cout
<<
endl; }
return
0
; }
转载于:https://www.cnblogs.com/forever4444/archive/2009/05/19/1460363.html
相关资源:数据结构—成绩单生成器