sdust 2410 Mine Number
今天看了3个这种题了 枚举第一行即可
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<map>
#include<string>
#define maxn
#define INF
using namespace std;
typedef long long LL;
int n,m,flag; int num1[][],num2[][];
int get_sum(int i,int j)
{
int tem=num2[i][j];
if(i>)
tem+=num2[i-][j];
if(j<m-)
tem+=num2[i][j+];
if(j>)
tem+=num2[i][j-];
return tem;
}
int check(int x)
{
int ans=num2[][x];
if (x)
ans+=num2[][x-];
if (x<m-)
ans+=num2[][x+];
if (ans==num1[][x] || ans+==num1[][x])
return true;
return false;
}
int puan(int s)
{
for(int j=;j<m;j++)
{
if((s&(<<j)))
num2[][j]=;
else
num2[][j]=;
}
if(n==)
{
for(int i=;i<m;i++)
if(get_sum(,i)!=num1[][i])
return ;
return ;
}
for(int i=;i<m;i++)
{
if(!check(i))
return ;
}
for(int i=;i<n;i++)
for(int j=;j<m;j++)
{
if(get_sum(i-,j)==num1[i-][j])
num2[i][j]=;
else if(get_sum(i-,j)+==num1[i-][j])
num2[i][j]=;
else
return ; }
for(int i=;i<m;i++)
if(get_sum(n-,i)!=num1[n-][i])
return ;
return ;
}
int main()
{ char str[];
int t;
while(scanf("%d",&t)!=EOF)
{
for(int ii=; ii<=t; ii++)
{
scanf("%d%d",&n,&m);
for(int i=; i<n; i++)
{
scanf("%s",str);
for(int j=; j<m; j++)
num1[i][j]=str[j]-'';
} for(int i=; i<(<<m); i++)
{
if(puan(i))
break;
}
printf("Case %d:\n",ii);
for(int i=; i<n; i++)
{
for(int j=; j<m; j++)
{
if(num2[i][j])
printf("*");
else
printf(".");
}
printf("\n");
}
}
} return ;
}
sdust 2410 Mine Number的更多相关文章
- [2012山东省第三届ACM大学生程序设计竞赛]——Mine Number
		Mine Number 题目:http://acm.sdut.edu.cn/sdutoj/problem.php? action=showproblem&problemid=2410 Time ... 
- Mine Number(搜索,暴力) ACM省赛第三届 G
		Mine Number Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Every one once played the gam ... 
- 【python游戏编程之旅】第五篇---嗷大喵爱吃鱼小游戏开发实例
		本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 我们一同在前几期的博客中已经学到了很多pygame的基本知识了,现在该做个小游戏实战一下了. 前几期博客链接 ... 
- 山东省第三届ACM省赛
		Solved ID PID Title Accepted Submit A 2407 Impasse (+) 0 0 B 2415 Chess 0 0 C 2414 An interest ... 
- 8659 Mine Sweeping
		时间限制:500MS 内存限制:65535K提交次数:37 通过次数:15 题型: 编程题 语言: G++;GCC Description The opening ceremony of the ... 
- POJ 3340 & HDU 2410 Barbara Bennett's Wild Numbers(数学)
		题目链接: PKU:http://poj.org/problem?id=3340 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=2410 Descript ... 
- hdu4678   Mine   2013 Multi-University Training Contest 8   博弈题
		Mine Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi ... 
- How To Mine Bitcoins 比特币挖矿
		linux 下查看 gpu 的信息: sudo lshw -C display windows下查看cuda信息:In directory C:\Program Files\NVIDIA Corpor ... 
- HDU 4678 Mine (2013多校8 1003题  博弈)
		Mine Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ... 
随机推荐
- js的严谨模式
			一.怎么用 <script type="text/javascript"> "use strict"; //放在脚本文件第一行,整个脚本将以 ... 
- 二模  (10) day2
			第一题: 题目大意:求出区间 [L,R]里约数最多的数. L,R<=10^9 解题过程: 1.一开始我就往恶心的数据去想了,比如 L=R=一个超级大的质数.. 那么 用搜索质因子的方法 是 ... 
- C++-前缀和后缀
			1,c++规定后缀形式的++操作符有一个int行的参数,被调用时,编译器自动加一个0作为参数给他 2,前缀返回一个reference,后缀返回一个const对象 /////////////////// ... 
- JAVA异常体系
			1.异常体系 ----|Throwable 所有错误或异常的父类 --------|Error(错误) --------|Exception(异常)一般能通过代码处理 ------------|运行时 ... 
- 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?
			这次试验的起因是一场内部辩论. “用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?” 我们推测是快4倍. 但是经过测试发现,我们推测错了. 本文记录了试验的规划.过程以及令人惊 ... 
- BT3入门之中文语言支持
			汉化: 1.更新软件库:apt-get update 2.安装中文语言包:apt-get install language-support-zh apt-get install language- ... 
- Activity(活动)-初讲
			是一种可以包含用户界面的组件,主要用于和用户进行交互. 上一次我们的MainActivity.java 是ADT帮我们自动创建的.手动创建Activity可以加深我们的理解和记忆,于是我们先自己手动创 ... 
- RelativeLayout相对布局中拖放控件的办法
			相对布局中拖了一个控件以后,要拖放第二个空间,死活拖不进去.仔细查看了鼠标的状况,发现要把第二个控件拖到第一个控件的周围,才能成功.果然是相对布局. 
- objectARX 获取ucs的X方向
			struct resbuf var; acedGetVar(_T("UCSXDIR"), &var);//获取用户坐标系下X方向量 ver = asVec3d(var.re ... 
- JSP重定向传递参数
			我一个JSP程序,要实现前台提交数据给后台处理后,后台jsp自动跳转到另一个jsp页面,这种方式也叫重定向,重定向的方法有多种,暂时我试过的并且能成功的有两个: 一种是用 response.sendR ... 
