今天看了3个这种题了  枚举第一行即可

  1 #include<cstdio>
  2 #include<cstring>
  3 #include<iostream>
  4 #include<algorithm>
  5 #include<cmath>
  6 #include<queue>
  7 #include<stack>
  8 #include<vector>
  9 #include<map>
 10 #include<string>
 11 #define maxn
 12 #define INF
 13 using namespace std;
 14 typedef long long LL;
 15 int n,m,flag;
 16
 17 int num1[21][21],num2[21][21];
 18 int get_sum(int i,int j)
 19 {
 20     int tem=num2[i][j];
 21     if(i>0)
 22         tem+=num2[i-1][j];
 23     if(j<m-1)
 24         tem+=num2[i][j+1];
 25     if(j>0)
 26         tem+=num2[i][j-1];
 27     return tem;
 28 }
 29 int check(int x)
 30 {
 31     int ans=num2[0][x];
 32     if (x)
 33         ans+=num2[0][x-1];
 34     if (x<m-1)
 35         ans+=num2[0][x+1];
 36     if (ans==num1[0][x] || ans+1==num1[0][x])
 37         return true;
 38     return false;
 39 }
 40 int  puan(int s)
 41 {
 42     for(int j=0;j<m;j++)
 43     {
 44         if((s&(1<<j)))
 45             num2[0][j]=1;
 46         else
 47             num2[0][j]=0;
 48     }
 49     if(n==1)
 50     {
 51         for(int i=0;i<m;i++)
 52             if(get_sum(0,i)!=num1[0][i])
 53               return 0;
 54         return 1;
 55     }
 56     for(int i=0;i<m;i++)
 57     {
 58         if(!check(i))
 59             return 0;
 60     }
 61     for(int i=1;i<n;i++)
 62         for(int j=0;j<m;j++)
 63     {
 64         if(get_sum(i-1,j)==num1[i-1][j])
 65             num2[i][j]=0;
 66         else if(get_sum(i-1,j)+1==num1[i-1][j])
 67           num2[i][j]=1;
 68         else
 69             return 0;
 70
 71     }
 72     for(int i=0;i<m;i++)
 73         if(get_sum(n-1,i)!=num1[n-1][i])
 74           return 0;
 75     return 1;
 76 }
 77 int main()
 78 {
 79
 80     char str[30];
 81     int t;
 82     while(scanf("%d",&t)!=EOF)
 83     {
 84         for(int ii=1; ii<=t; ii++)
 85         {
 86             scanf("%d%d",&n,&m);
 87             for(int i=0; i<n; i++)
 88             {
 89                 scanf("%s",str);
 90                 for(int j=0; j<m; j++)
 91                     num1[i][j]=str[j]-'0';
 92             }
 93
 94             for(int i=0; i<(1<<m); i++)
 95             {
 96                 if(puan(i))
 97                   break;
 98             }
 99             printf("Case %d:\n",ii);
100             for(int i=0; i<n; i++)
101             {
102                 for(int j=0; j<m; j++)
103                 {
104                     if(num2[i][j])
105                         printf("*");
106                     else
107                         printf(".");
108                 }
109                 printf("\n");
110             }
111         }
112     }
113
114     return 0;
115 }

转载于:https://www.cnblogs.com/tsw123/p/4424979.html

sdust 2410 Mine Number相关推荐

  1. mysql函数 动态语句_自定义函数动态执行SQL语句

    Oracle 动态SQL有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者. DDL 和 DML Sql代码 收藏代码 /*** DDL ***/ begin EX ...

  2. 小清新版js扫雷(使用原生js)

    目录 扫雷小游戏 预览 游戏讲解 界面 逻辑设计 寻找目标格子周围格子 更新数字 游戏结束 开始游戏 总结 完整代码 HTML css js 扫雷小游戏 预览 游戏讲解 扫雷是一个益智游戏,通过格盘上 ...

  3. python入门小项目 | 开发一个《小猫抓鱼》小游戏

    小猫抓鱼 开发工具 讲解部分 一.游戏原理 二.游戏逻辑 三.重点代码实现 开发工具 python3.6.4 第三方库: pygame,random 讲解部分 一.游戏原理 游戏原理很简单,和接水果的 ...

  4. 山东省第三届ACM省赛

    ID Title Hint A Impasse (+)   B Chess   C An interesting game 最小费用最大流 D n a^o7 !   E Fruit Ninja I d ...

  5. 学习TypeScript数据类型-从零到英雄

    It's all the rage these days in the world of web development - TypeScript.  I'd wager by now you hav ...

  6. C#LeetCode刷题之#434-字符串中的单词数​​​​​​​(Number of Segments in a String)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3941 访问. 统计字符串中的单词个数,这里的单词指的是连续的不是 ...

  7. 在2410上移植uboot1.3.2

    转贴地址:http://blog.chinaunix.net/u2/74524/showart_1105803.html 目前官方网站上最新版本的u-boot 是1.3.3,本来想打算移植1.3.3的 ...

  8. 在2410上移植uboot1.3.2【转】

    转贴地址:http://blog.chinaunix.net/u2/74524/showart_1105803.html 目前官方网站上最新版本的u-boot 是1.3.3,本来想打算移植1.3.3的 ...

  9. rounding to an arbitrary number of significant digits

    转:http://stackoverflow.com/questions/202302/rounding-to-an-arbitrary-number-of-significant-digits Q: ...

最新文章

  1. stream filter_Stream 流实践
  2. mysql随机显示记录_MySQL随机读取表中记录
  3. CAS无锁(乐观锁、自旋锁)优化
  4. linux查看应用线程号命令,虚拟机:Linux查看线程信息的步骤
  5. 利率计算中的套路!用 Python 告诉你究竟亏了多少!
  6. 题解 T28305 【yizimi的旅游景点】
  7. 用设计模式去掉没必要的状态变量 —— 状态模式
  8. ugui unity3d 仪表盘_Unity3D---UGUI---UI创建以及Canvas设置
  9. 全球加密货币总市值突破7500亿美元 比特币市值突破5200亿美元
  10. 这样的AI技术实战方式,大boss都看不下去了!
  11. B站【云E办】在线办公系统 项目源码
  12. 不用找,你想要的3dmax最新IES光域网素材都在这里!
  13. JAVA-JDK环境变量配置
  14. 微信小程序云开发源码(垃圾分类源码)
  15. 基于物联网技术的电动车锂电池安全预警系统
  16. gtx1050ti最稳定的驱动_GTX1050ti显卡驱动
  17. C# 切割超级大图(.bmp)[1G以上超大图片分块加载代码]
  18. 学习编程,既要仰望星空,又要脚踏实地
  19. 解决kali虚拟机无法连接网络的问题
  20. 极简之SVN使用,入职必备

热门文章

  1. 各星座导演与他们的电影风格【转】]
  2. mcldownload文件夹_我的世界存档在哪个文件夹及导入存档的方法介绍
  3. 系分架构 - 软件架构设计
  4. douyin_xl,xa,xg,xk
  5. MOVS,LODS,CMPS,SCAS,STOS
  6. 深度学习方向写会议期刊论文的一些笔记
  7. 浙大 计算机 毕业论文格式,毕业论文格式
  8. 台式电脑计算机硬盘清理,怎样清理台式电脑硬盘垃圾
  9. openmv学习之旅②之色块追踪算法的改善
  10. 【致远FAQ】致远OA启动不起来了(中集)