题解
【入门】斜角III
1 条题解
-
0
解题思路
这道题要求输出一个 N 行 N 列的方阵,每个位置放一个字母。
观察规律:字母从左上角开始是 A,往右和往下都会变成下一个字母。
- (0,0) = A, (0,1) = B, (0,2) = C……
- (1,0) = B, (1,1) = C……
可以发现:第 i 行第 j 列的字母 = 'A' + (i + j) % n。
参考代码
#include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // (i+j) % n 决定用第几个字母,轮流循环 char ch = 'A' + (i + j) % n; cout << setw(3) << ch; } cout << endl; } return 0; }复杂度分析
- 时间复杂度:O(N²)
- 空间复杂度:O(1)
- 1