#include<bits/stdc++.h> using namespace std; void lesson() { long long n,m,b,l; double a=0; cin>>n>>m>>b; for(int i=1;i<=n;i++) a+=i; for(int q=1;q<=m;q++) a+=q*q; for(double w=1;w<=b;w++)a+=1/w; printf("%.2f",a); } int main() { lesson(); return 0; }

1 条评论

  • @ 2025-2-14 17:48:07

    #include

    #include

    #include

    using namespace std;

    const int ROWS = 9; const int COLS = 9; const int MINES = 10;

    // 初始化棋盘

    void initializeBoard(int mines[ROWS][COLS], char board[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { mines[i][j] = 0; board[i][j] = '-'; } } // 随机布置地雷

    int count = 0; 
    while (count < MINES) { 
        int x = rand() % ROWS; 
        int y = rand() % COLS; 
        if (mines[x][y] == 0) { 
            mines[x][y] = 1; 
            count++; 
        } 
    } 
    

    }

    // 计算周围地雷数量 int countMines(int mines[ROWS][COLS], int x, int y) { int count = 0; for (int i = max(0, x - 1); i <= min(ROWS - 1, x + 1); i++) { for (int j = max(0, y - 1); j <= min(COLS - 1, y + 1); j++) { if (i!= x || j!= y) { count += mines[i][j]; } } } return count; }

    // 打印棋盘

    void printBoard(char board[ROWS][COLS]) { cout << " "; for (int i = 0; i < COLS; i++) { cout << i << " "; } cout << endl; for (int i = 0; i < ROWS; i++) { cout << i << " "; for (int j = 0; j < COLS; j++) { cout << board[i][j] << " "; } cout << endl; } }

    // 翻开方格

    bool reveal(int mines[ROWS][COLS], char board[ROWS][COLS], int x, int y) { if (mines[x][y] == 1) { return false; // 踩到地雷,游戏失败

    } 
    int mineCount = countMines(mines, x, y); 
    board[x][y] = mineCount + '0'; 
    
    // 如果周围没有地雷,递归翻开周围的方格 
    
    if (mineCount == 0) { 
        for (int i = max(0, x - 1); i <= min(ROWS - 1, x + 1); i++) { 
            for (int j = max(0, y - 1); j <= min(COLS - 1, y + 1); j++) { 
                if (board[i][j] == '-') { 
                    reveal(mines, board, i, j); 
                } 
            } 
        } 
    } 
    return true; 
    

    }

    // 检查是否游戏胜利

    bool isGameWon(int mines[ROWS][COLS], char board[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (mines[i][j] == 0 && board[i][j] == '-') { return false; } } } return true; }

    int main() { srand(time(0)); int mines[ROWS][COLS]; char board[ROWS][COLS];

    initializeBoard(mines, board); 
    
    while (true) { 
        printBoard(board); 
        int x, y; 
        cout << "请输入要翻开的方格坐标 (行 列): "; 
        cin >> x >> y; 
        if (x < 0 || x >= ROWS || y < 0 || y >= COLS) { 
            cout << "无效的坐标,请重新输入!" << endl; 
            continue; 
        } 
        if (!reveal(mines, board, x, y)) { 
            cout << "你踩到地雷了,游戏失败!" << endl; 
            break; 
        } 
        if (isGameWon(mines, board)) { 
            cout << "恭喜你,游戏胜利!" << endl; 
            break; 
        } 
    } 
    
    return 0; 
    

    }

    • 1

    信息

    ID
    915
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    81
    已通过
    32
    上传者