8/12 题解

解题思路

贪心,小的搭配大的,和会最小

AC代码

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int l = 1;
    int r = n;
    while(l < r){   
        cout << l << ' ';
        l++;
        cout << r << ' ';
        --r;
        if(l == r){
            cout << l << ' ';
            break;
        }
    }
    return 0;
}

解题思路

模拟

AC代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n, m;
int res;

bool safe(vector<vector<char>> &v, int px, int py){
    if(v[px][py] != v[px][py + 1] && v[px][py + 1] != v[px][py + 2] && v[px][py] != v[px + 1][py] && v[px][py + 1] != v[px + 1][py + 1] && v[px][py + 2] != v[px + 1][py + 2] && v[px + 1][py] != v[px + 1][py + 1] && v[px + 1][py + 1] != v[px + 1][py + 2] && v[px + 1][py] != v[px + 2][py] && v[px + 1][py + 1] != v[px + 2][py + 1] && v[px + 1][py + 2] != v[px + 2][py + 2] && v[px + 2][py] != v[px + 2][py + 1] && v[px + 2][py + 1] != v[px + 2][py + 2]){
        return true;
    }
    return false;
}

bool judge(vector<vector<char>> &v, int x, int y){
    if(x + 3 > n || y + 3 > m || x < 0 || y < 0){
        return false;
    }
    if(!safe(v, x, y)){
        return false;
    }
    int mp[3] = {0,0,0};
    for(int i = x; i < x + 3; ++i){
        for(int j = y; j < y + 3; ++j){
            int num = v[i][j] - 'A';
            if(num >= 3){
                return false;
            }
            ++mp[num];            
        }
    }
    for(int i = 0; i < 3; ++i){        
        if(!mp[i]){
            return false;
        }
    }
    return true;
}

int main() {
    cin >> n >> m;
    vector<vector<char>> v(n, vector<char>(m));
    for(int i =0 ; i < n; ++i){
        for(int j = 0; j < m; ++j){
            cin >> v[i][j];
        }
    }
    for(int i =0 ; i < n; ++i){
        for(int j = 0; j < m; ++j){
            if(judge(v, i ,j)){
                ++res;
            }
        }
    }
    cout << res;
    return 0;
}
相关推荐
lingran__5 分钟前
算法沉淀第三天(统计二进制中1的个数 两个整数二进制位不同个数)
c++·算法
MicroTech202536 分钟前
微算法科技MLGO推出隐私感知联合DNN模型部署和分区优化技术,开启协作边缘推理新时代
科技·算法·dnn
小冯记录编程1 小时前
深入解析C++ for循环原理
开发语言·c++·算法
chenchihwen3 小时前
深度解析RAG系统中的PDF解析模块:Docling集成与并行处理实践
python·算法·pdf
Chloeis Syntax3 小时前
栈和队列笔记2025-10-12
java·数据结构·笔记·
404未精通的狗3 小时前
(数据结构)线性表(下):链表分类及双向链表的实现
数据结构·链表
做科研的周师兄4 小时前
【机器学习入门】7.4 随机森林:一文吃透随机森林——从原理到核心特点
人工智能·学习·算法·随机森林·机器学习·支持向量机·数据挖掘
Sunsets_Red4 小时前
差分操作正确性证明
java·c语言·c++·python·算法·c#
【杨(_> <_)】5 小时前
SAR信号处理重要工具-傅里叶变换(二)
算法·信号处理·傅里叶分析·菲涅尔函数
怎么没有名字注册了啊5 小时前
爬动的蠕虫
算法