首页 > 其他分享 >abc--283--E

abc--283--E

时间:2022-12-24 22:23:09浏览次数:40  
标签:abc -- memset int 283 sizeof

关键

跟炮兵阵地那道题目很像,先确定上面哪一行的状态,然后在确定下面这一行的状态,采用dp就可以枚举所有的状态

代码

#include <bits/stdc++.h>
using namespace std;
const int M=1005;

int a[M][M],f[M][2][2];
int n,m;
bool check(int p,int x,int y) {
    for(int i=1;i<=m;i++)
        if(a[p][i]!=a[p][i-1]&&a[p][i]!=a[p][i+1]&&a[p][i]!=(a[p-1][i]^x)&&a[p][i]!=(a[p+1][i]^y))return 0;
    return 1;
}

//每一行只会有两种状态,上面和下面
int main() {
    cin>>n>>m;
    memset(a,-1,sizeof(a));
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
        cin>>a[i][j];
    memset(f,0x3f,sizeof(f));
    f[1][0][0]=0;
    f[1][0][1]=1;
    for(int i=2;i<=n+1;i++)//现在这一样
    for(int j=0;j<2;j++)
    for(int k=0;k<2;k++)//我的状态
    for(int l=0;l<2;l++)//上下两行是什么状态
        if(check(i-1,l^k,k^j))f[i][k][j]=min(f[i][k][j],f[i-1][l][k]+j);
    int ans=min(f[n+1][0][0],f[n+1][1][0]);
    if(ans>=n)ans=-1;
    cout<<ans<<endl;
    return 0;
}
//我这一行边,和上面两行变是没有区别的

标签:abc,--,memset,int,283,sizeof
From: https://www.cnblogs.com/basicecho/p/17003470.html

相关文章

  • 实验五
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#defineN3typedefstructstudent{intid;charname[20];charsubject[20];do......
  • JavaScript实现点击 `播放列表` 隐藏下面的列表项
    实现思路:根据h2标签名获取元素对象,并获取索引是0的元素【页面中只有一个h2标签】给该元素绑定单击事件(onclick),并绑定函数在函数的外面定义一个变量flag,用来记录状态......
  • 实验六
    //将图书信息写入文本文件data1.txt#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#defineN7#defineM80typedefstruct{charname[M];//书名charaut......
  • ceph
    */5****/usr/sbin/netdatetime.aliyun.com&>/dev/null&&hwclock-w&>/dev/nullaptinstall-yapt-transport-httpsca-certificatescurlsoftware-properti......
  • JDBC框架-commonsDbutils
    0.介绍Apache组织提供的一个开源JDBC工具类库1.使用1.1pom.xml<dependency><groupId>commons-dbutils</groupId><artifactId>commons-dbutils</artifactId>......
  • 【玩转Docker容器 1】Docker的详解及安装
    @TOC推荐个人Docker文章,讲的非常详细【玩转Docker容器1】Docker的详解及安装【玩转Docker容器2】基于Docker一分钟搭建完Jdk、Mysql、Nginx、Redis、Tomcat环境......
  • Zip伪加密
    原理:一个zip文件由三部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志。具体含义请参照大佬的博客,解释的很详细。http://blog.csdn.net/wclxyn/article......
  • django中只使用ModleForm的表单验证,而不使用ModleForm来渲染
    主题众所周知,django.forms极其强大,不少的框架也借鉴了这个模式,如Scrapy。在表单验证时,django.forms是一绝,也是面向对象的经典表现。但要用它来渲染表单那就不好玩了,除非写......
  • 【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境
    @[TOC](Docker安装Jdk、Mysql、Nginx、Redis、Tomcat)推荐个人Docker文章,讲的非常详细【玩转Docker容器1】Dockerd的详解及安装【玩转Docker容器2】基于Docke......
  • 【玩转Docker容器 3】基于Docker部署SpringBoot项目
    @TOC推荐个人Docker文章,讲的非常详细【玩转Docker容器1】Dockerd的详解及安装【玩转Docker容器2】基于Docker一分钟搭建完Jdk、Mysql、Nginx、Redis、Tomcat环......