【题目描述】

xyz1048576正在玩一个关于矩阵的游戏。

一个n*m的矩阵,矩阵中每个数都是[1,12]内的整数。你可以执行下列两个操作任意多次

(1)指定一行,将该行所有数字+1。

(2)指定一列,将该列所有数字+1。

(3)如果执行完上述操作之后,矩阵中某个数变成了3,6,9,12其中的某一个,我们认为这个数是稳的。

给定初始矩阵,求出任意执行操作之后稳数的最多个数。

【输入格式

第一行包含两个正整数n,m。

接下来n行,每行m个数,描述这个矩阵。

【输出格式

一个整数,表示答案。

【输入样例1

3 3

1 2 3

3 2 4

1 2 1

【输出样例1

7

【输入样例2】

5 5

2 4 6 8 10

1 2 3 4 5

3 4 5 6 7

7 8 9 10 11

5 10 12 3 7

【输出样例2】

20

【数据规模及约定

对于10%的数据,n,m≤2。

对于20%的数据,n,m≤5。

对于100%的数据,n,m≤10。

 思路:

  dfs,爆搜,先只考虑每一行,因为对于一行或者一列,加三次和加六次相对关系不变,我们可以对于每一行或列,枚举加0次,加一次,加两次的情况,DFS行后,循环处理列的情况,

每一列取和3取模相同的最大集合,统计答案。

代码:

#include"iostream"
#include"cstdio"
#include"cstdlib"
using namespace std;
const int N = 100;
int n,m,ans,mod[5],a[N][N];
void check()
{
int sum=0;
for(int j=1;j<=m;j++)
{
mod[0]=mod[1]=mod[2]=0;
for(int i=1;i<=n;i++)if(a[i][j]<=12)mod[a[i][j]%3] ++ ;
sum+=max(max(mod[0],mod[1]),mod[2]);
}
ans=max(ans,sum);
}
void dfs(int x)
{
if(x==n+1)
{
check();
return;
}
for(int i=0;i<=2;i++)
{
for(int j=1;j<=m;j++)a[x][j]+=i;
dfs(x+1);
for(int j=1;j<=m;j++)a[x][j]-=i;
}
}
int main()
{
#ifdef yilnr
#else
freopen("zxx.in","r",stdin);
freopen("zxx.out","w",stdout);
#endif
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
}
dfs(1);
printf("%d\n",ans);
fclose(stdin);fclose(stdout);
return 0;
}

  

【csp模拟赛2】 爆搜 方格加数的更多相关文章

  1. CSP模拟赛游记

    时间:2019.10.5 考试时间:100分钟(连正式考试时间的一半还没有到)题目:由于某些原因不能公开. 由于第一次接触NOIinux系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时 ...

  2. 【csp模拟赛5】限制 (restrict.cpp)--数学

    自己看吧: 爆搜代码: //春水初涨-春林初盛-春风十里-不如你 //----hzwer // 这是啥子题,读不懂-- //题意有问题 -- #include<iostream> #inc ...

  3. 【csp模拟赛1】T1 心有灵犀

    [题目描述] 爱玩游戏的小 Z 最近又换了一个新的游戏.这个游戏有点特别,需要两位玩 家心有灵犀通力合作才能拿到高分. 游戏开始时,两位玩家会得到同一个数字 N,假设这个数字共有 t 位数码, 然后两 ...

  4. 【csp模拟赛5】加减法--宽搜维护联通快

    题目大意: 一开始想用并查集,发现很难维护联通块的代表元素,所以用了宽搜,开数组会炸,所以开一个优先队列维护,每扫完一个联通块,统计答案,清空优先队列,!!千万记住注意数组的大小!!! 代码: #in ...

  5. 【CSP模拟赛】Freda的迷宫(桥)

    题目描述 Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相连,走廊都是双向通过.  黄昏 ...

  6. 【CSP模拟赛】Confess(数学 玄学)

    题目描述 小w隐藏的心绪已经难以再隐藏下去了.小w有n+ 1(保证n为偶数)个心绪,每个都包含了[1,2n]的一个大小为n的子集.现在他要找到隐藏的任意两个心绪,使得他们的交大于等于n/2. 输入描述 ...

  7. CSP模拟赛 Repulsed(树形DP)

    题面 ⼩ w ⼼⾥的⽕焰就要被熄灭了. 简便起⻅,假设⼩ w 的内⼼是⼀棵 n − 1 条边,n 个节点的树. 现在你要在每个节点⾥放⼀些个灭⽕器,每个节点可以放任意多个. 接下来每个节点都要被分配给 ...

  8. 【csp模拟赛九】--dfs

    思路: 这道题可以宽搜,深搜,最短路 代码: #include<cstdio> #include<cstring> #include<iostream> #incl ...

  9. 【csp模拟赛4】旅行计划 (travelling.cpp)--欧拉回路

    [题目描述] 小 Z 打算趁着暑假,开启他的旅行计划.但与其他同学不同的是,小 Z 旅 行时并不关心到达了哪个网红景点打了哪些卡.小 Z 更关注沿路的风光,而且 小 Z 觉得,尽管多次到达同一个地方, ...

随机推荐

  1. c++ vector容器

    https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html

  2. Go语言操作Redis

    Go语言操作Redis Redis介绍 Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上.除此之外,通过复制.持久化和客 ...

  3. S02_CH16 等精度频率计实验

    S02_CH16 等精度频率计实验 在了解了AXI总线之后,今天我们自己动手设计一个带AXI4-Lite总线的IP,来完成频率计的实验. 频率计虽然小,但是也算五脏俱全,涉及到zynq的方方面面,比如 ...

  4. IntelliJ IDEA热部署插件JRebel免费激活图文教程(持续更新)转载

    之前教了大家如何免费激活IDEA,大家学会了吗?今天再来教大家如何免费激活JRebel插件,实现真正的热部署,无论是改了代码片段还是配置文件,都可以做到不用重新启动就生效,这种酸爽,谁用谁知道! 这次 ...

  5. 怎样限制第三方Cookie

    使用Cookie的 SameSite 属性. 1. SameSite=Strict; 这个模式下, 服务器将会完全禁止第三方Cookie, 在跨站点时, 任何情况下都不会发送Cookie, 也就是说, ...

  6. redis 命令行操作报错

    向redis集群写数据抛异常:(error) MOVED 15342 2001:fecc:0:616::34:6383 原因是启动redis-cli时未以集群方式启动,即后面要加上 -c redis- ...

  7. 关于Mybatis的几件小事(二)

    一.MyBatis缓存机制 1.简介 Mybatis包含了一个非常强大的查询缓存的特性,它可以非常方便地配置和定制. 缓存key极大提高查询效率 MyBatis系统中默认定义了两次缓存 默认情况下,只 ...

  8. Supervisor的使用

    版权声明:原创文章欢迎转载,不过要记得加出处哦 https://blog.csdn.net/wljk506/article/details/77146248 supervisord 是Linux/Un ...

  9. go爬虫之爬取豆瓣电影

    go爬取豆瓣电影 好久没使用go语言做个项目了,上午闲来无事花了点时间使用golang来爬取豆瓣top电影,这里我没有用colly框架而是自己设计简单流程.mark一下 思路 定义两个channel, ...

  10. elasticsearch 数据备份

    ES数据备份找了一些方法,发现elasticdump 这个工具不错 elasticdump --input=http://192.168.0.92:9200/hs2840 --output ./hs2 ...