http://acm.hdu.edu.cn/showproblem.php?pid=1426

注意输入问题就行

还是dfs

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
#include<math.h>
#include<iostream> using namespace std; #define N 100
#define INF 0xffffffff
#define memset(a,b) memset(a,b,sizeof(a)) int a[N][N],v1[N][N],v2[N][N],v3[N][N];
int ok=,sum; struct node
{
int x,y;
} e[N]; void DFS(int p)
{
if(p>sum)
{
ok=;
return;
} for(int i=; i<=; i++)
{
if(!ok)
if(v1[e[p].x][i]== && v2[e[p].y][i]== && v3[(e[p].x/)*+e[p].y/+][i]==)
{
v1[e[p].x][i]=;
v2[e[p].y][i]=;
v3[e[p].x/*+e[p].y/+][i]=;
a[e[p].x][e[p].y]=i; DFS(p+); v1[e[p].x][i]=;
v2[e[p].y][i]=;
v3[e[p].x/*+e[p].y/+][i]=;
}
} } int main()
{
char str[];
int k=,flag=,b=;
sum=;
memset(a,);
memset(v1,);
memset(v2,);
memset(v3,);
while(scanf("%s",str)!=EOF)
{
if(str[]=='?')
{
a[k][b]=;
sum++;
e[sum].x=;
e[sum].y=;
b++;
}
else
{
a[][]=str[]-'';
v1[][a[][]]=;
v2[][a[][]]=;
v3[][a[][]]=;
}
for(int i=; i<; i++)
{
for(int j=; j<; j++)
{
if(i== && j==)
continue;
scanf("%s",str);
if(str[]=='?')
{
a[i][j]=;
sum++;
e[sum].x=i;
e[sum].y=j;
b++;
}
else
{
a[i][j]=str[]-'';
v1[i][a[i][j]]=;
v2[j][a[i][j]]=;
v3[i/*+j/+][a[i][j]]=;
}
}
}
DFS();
if(flag==)
printf("\n");
for(int i=; i<; i++)
{
for(int j=; j<; j++)
{
if(j==)
printf("%d",a[i][j]);
else
printf(" %d",a[i][j]);
}
printf("\n");
} flag=;
k=;
sum=;
ok=;
b=;
memset(a,);
memset(v1,);
memset(v2,);
memset(v3,); }
return ;
}

最新文章

  1. UNITY更新到5后设置的动画无法播放了怎么办
  2. MIT jos 6.828 Fall 2014 训练记录(lab 6)
  3. [转]不再以讹传讹,GET和POST的真正区别
  4. javascript判断上传文件大小
  5. MFC Socket
  6. Ueditor 1.4.3 jsp utf-8版图片上传问题
  7. ashx页面中context.Session[&quot;xxx&quot;]获取不到值的解决办法
  8. 解决mac下atom安装插件失败问题
  9. SpringMVC结合ajaxfileupload文件无刷新上传
  10. 在C#中初遇Socket - 2
  11. javaweb后台转码
  12. Copy List with Random Pointer(复杂链表复制)
  13. Nginx代理的几种模式
  14. NOIAC41 最短路(线性基)
  15. 开发框架DevExtreme发布v18.2.4|附下载
  16. 论述Android通过HttpURLConnection与HttpClient联网代理网关设置
  17. context、config
  18. extjs获取选中列表!
  19. Java实现对Mysql的图片存取操作
  20. js LINQ教程

热门文章

  1. 64位系统上32位进程拷贝文件到System32目录时的重定向
  2. mysql 增删查改
  3. Java后端学习路线_备战
  4. iview table的render()函数基本的用法
  5. js 调用flash在chrome报错
  6. 纯css实现同一页面下选择之后更换内容效果
  7. c++的if语句中的110为什么不等于110?
  8. [LUOGU] P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈
  9. 基于selenium爬取拉勾网职位信息
  10. mybatis完整sql调试