Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
91700 sh25_shenpy 打印十字图_1 C++ 解答错误 1 MS 244 KB 1357 2026-06-14 14:52:22

Tests(0/2):


#include <iostream> using namespace std; int main() { int n; cin >> n; int size = 4 * n + 5; // 正方形总行列数 int mid = 2 * n + 2; // 中心坐标 // 逐行打印 for (int i = 0; i < size; ++i) { // 逐列打印 for (int j = 0; j < size; ++j) { bool flag = false; // 计算当前点到中心的横向、纵向距离 int di = i - mid; int dj = j - mid; di = di > 0 ? di : -di; dj = dj > 0 ? dj : -dj; // 规则1:外层多层方框(n层包围结构) for (int k = 0; k < n; ++k) { int dist = 2 * k + 2; if ((di == dist && dj <= dist) || (dj == dist && di <= dist)) { flag = true; break; } } // 规则2:最外层大边框 int outer = 2 * n + 2; if (di == outer || dj == outer) flag = true; // 规则3:中心十字核心区域 if (di <= 1 && dj <= 1) flag = true; if (flag) cout << '$'; else cout << '.'; } cout << endl; } return 0; }


测评信息: