怎么14分

tctm169 我以逍遥醉人间 2024-05-01 8:43:55 26

#include <bits/stdc++.h> #include #include #include #include #include #include using namespace std; int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { for (int k = 1; k <= n; k++) { cout << i << " " << j << " " << k << endl; } } } }

{{ vote && vote.total.up }}

共 5 条回复

root 站长

RE,数组访问越界,你int a[7] 最多能只能访问 a[6] 元素,明白?

tctm169 我以逍遥醉人间

成功85分

tctm169 我以逍遥醉人间

#include <bits/stdc++.h> #include #include #include #include #include #include #include using namespace std; int n; int a[7]; void dfs(int step) { if (step == n + 1) { //输出 for (int i = 1; i <= n; i++) printf("%d ", a[i]); puts(""); //换行 printf("\n"); return; } for (int i = 1; i <= n; i++) //给step位置上选1~n中的每一个数字 { a[step] = i; dfs(step + 1); } } int main() { cin >> n; for (int i = 1; i <= n; i++) scanf("%d ", &a[i]); dfs(1); }

root 站长
void dfs(int step) {
    if (step == n + 1) {
        //输出
        for (int i = 1; i <= n; i++) printf("%d ", a[i]);
        puts("");  //换行 printf("\n");
        return;
    }
    for (int i = 1; i <= n; i++)  //给step位置上选1~n中的每一个数字
    {
        a[step] = i;
        dfs(step + 1);
    }
}
root 站长

求n 的全排列,你这个只能输出 3 的全排列。考虑用递归来输出全排列。