『题解』POJ1753 Flip Game

探讨了在一个4x4的黑白矩阵中,通过翻转指定格子及其相邻格子的颜色,达到全白或全黑状态的最少操作次数。利用递归思想,枚举所有可能的翻转组合,寻找最优解。

题目传送门

题意描述

\(4 \times 4\)的正方形,每个格子要么是黑色,要么是白色,当把一个格子的颜色改变(黑\(\to\)白 或 白\(\to\)黑)时,其周围上下左右(如果存在的话)的格子的颜色也被反转,问至少反转几个格子可以使\(4 \times 4\)的正方形变为纯白或者纯黑?

分析

对于每一个格子,只有两个状态,将它翻转一次与翻转奇数次效果是一样的,翻转零次与翻转偶数次的效果是一样的。

因为只有\(16\)个格子,选择\(0\)个,\(1\)个,\(2\)\(\cdots16\)个所有的情况有

C[0][16]+C[1][16]+C[2][16]+...+C[15][16]+C[16][16]=2^16

枚举不会超时,所以我们可以用递归的思想模拟0-16重循环,分别表示选择翻转的棋子个数。

AC代码

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>

using namespace std;

bool bits[16], flag=false;
inline void resever(int n) {//翻转
    int x=n/4,y=n%4;
    for (int i=max(0,y-1); i<min(y+2,4); i++)
        bits[x*4+i]=!bits[x*4+i];
    if (x!=0) bits[(x-1)*4+y]=!bits[(x-1)*4+y];
    if (x!=3) bits[(x+1)*4+y]=!bits[(x+1)*4+y];
}
inline bool judge() {//判断是否一致
    bool ini=bits[0];
    for (int i=1; i<16; i++)
        if (ini!=bits[i]) return 0;
    return 1;
}
inline void solve(int maxx, int now, int step) {
    if (maxx==step) {//翻转完最后一枚棋子
        if (judge()) {//满足状态
            flag=1;
            printf("%d\n",maxx);
        }
        return ;
    }
    for (int i=now; i<16; i++) {//从上次翻转位置继续
        resever(i);//翻转i
        solve(maxx, i+1, step+1);
        if (flag) return ;//找到答案,返回
        resever(i);//恢复原来状态
    }
}
int main() {
    char str[4][4];
    for (int i=0; i<4; i++) {
        cin>>str[i];
        for (int j=0; j<4; j++)
            bits[i*4+j]=(str[i][j]=='b') ? 1 : 0;
    }
    for (int i=0; i<=16; i++)//i 为要翻转的棋子个数
        solve(i, 0, 0);
    if (!flag) printf("Impossible\n");//没有找到答案 
    return 0;
}

转载于:https://www.cnblogs.com/shenxiaohuang/p/10162155.html

内容概要:本文围绕基于三电平ANPC构网型逆变器的虚拟同步控制策略展开研究,重点探讨了其在Simulink环境下的仿真实现方法。研究聚焦于虚拟同步发电机(VSG)控制、双闭环控制及中点电位平衡控制等核心技术,旨在提升高渗透率新能源背景下逆变器的惯量支撑能力和电能质量。通过构建详细的系统模型,提出并优化控制策略,有效解决了三电平逆变器在动态响应、稳定性及中点电压波动等方面的挑战,增强了系统对复杂电网工况的适应能力。研究进一步结合VSG的虚拟惯量与阻尼特性,实现对电网频率波动的有效抑制,并通过双闭环结构提升电流跟踪精度与功率调节性能,同时引入中点电位平衡控制策略,确保多电平拓扑输出电压对称性与可靠性。; 适合人群:具备电力电子、自动控制或新能源发电相关背景,从事科研或工程开发的研发人员,尤其是关注构网型逆变器、虚拟同步技术及多电平拓扑控制的研究生与工程师。; 使用场景及目标:①应用于新能源并网系统中构网型逆变器的设计与仿真;②为提升电力系统稳定性提供虚拟同步控制方案;③实现三电平ANPC逆变器中点电位的有效平衡与动态性能优化; 阅读建议:建议结合Simulink仿真模型进行实践操作,重点关注控制策略的实现细节与参数整定过程,同时可参考文中提到的双闭环结构与VSG控制逻辑进行扩展研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值