/*************************************************************************
> File Name: L.cpp
> Author: LyuCheng
> Created Time: 2017-12-03 17:31
> Description:
题意:首先有一个乘法表,然后给你一个n*m的矩阵,里面有不确定的数,然
后问你,这个表可不可能是乘法表的一部分 思路:暴力判断每个点
************************************************************************/ #include <bits/stdc++.h> #define MAXN 1234
#define MAXM 12
#define LL long long using namespace std; struct Point{
int x,y;
LL val;
Point(){}
Point(int _x,int _y,LL _val){
x=_x;
y=_y;
val=_val;
}
}; int t;
int n,m;
LL mapn[MAXN][MAXN];
char str[MAXM];
bool flag;
vector<Point>P; inline LL cal(char str[]){
int len=strlen(str);
LL s=;
for(int i=;i<len;i++){
s*=;
s+=str[i]-'';
}
return s;
} inline bool judge(LL x,LL y,LL fx,LL fy){
for(int i=;i<(int)P.size();i++){
if((fx+P[i].x-x)*(fy+P[i].y-y)!=P[i].val)
return false;
}
return true;
} inline void init(){
P.clear();
flag=false;
} int main(){
// freopen("in.txt","r",stdin);
scanf("%d",&t);
for(int ca=;ca<=t;ca++){
printf("Case #%d: ",ca);
init();
scanf("%d%d",&n,&m);
for(LL i=;i<=n;i++){
for(LL j=;j<=m;j++){
scanf("%s",str);
if(str[]!='?'){
mapn[i][j]=cal(str);
P.push_back(Point(i,j,mapn[i][j]));
}else{
mapn[i][j]=;
}
}
}
if((int)P.size()==){
puts("Yes");
}else {
for(LL i=;i*i<=P[].val;i++){
if(P[].val%i==){
LL fx=i;
LL fy=P[].val/i;
if(fx>=P[].x&&fy>=P[].y)
if(judge(P[].x,P[].y,fx,fy)==true){
flag=true;
break;
}
swap(fx,fy);
if(fx>=P[].x&&fy>=P[].y)
if(judge(P[].x,P[].y,fx,fy)==true){
flag=true;
break;
}
}
}
puts(flag==true?"Yes":"No");
}
}
return ;
}

最新文章

  1. cocos2dx-lua_修改源码流程(cocos2dx-3.10、win7、Cocos Code IDE1.2)
  2. jquety
  3. Maven项目导入后打红色X
  4. Java--concurrent并发包下阻塞队列介绍
  5. HDU 5038 Grade北京赛区网赛1005
  6. MongoDB工具介绍
  7. Windows Services windows域账户管理
  8. 升级ssh编译错误
  9. 【Java基础】foreach循环
  10. Mschart应用之曲线图表spline
  11. ajax跨域请求--jsonp实例
  12. MySQL:MySQL的基本操作
  13. sublime text3在指定浏览器上本地服务器(localhost)运行文件(php)
  14. Javascript DOM 编程艺术———总结-2
  15. 进程间通信——XSI IPC之消息队列
  16. 读取HeidiSQL 配置文件中的密码
  17. pythonz之__new__与__init__
  18. Redis实现文章投票功能
  19. mysql启动错误,提示crash 错误
  20. 怎样从外网访问内网Jboss?

热门文章

  1. 12 垃圾回收GC
  2. SpringBoot入门(五)——自定义配置
  3. TW实习日记:第16天
  4. STL之--插入迭代器(back_inserter,inserter,front_inserter的区别)
  5. 周期串 (Periodic Strings,UVa455)
  6. JavaScript 的一些基础知识
  7. 关于GitHub推送时发生Permission denied (publickey)的问题
  8. JAVA集合类(大公司面试喜欢问的)
  9. 五:Edits Viewer离线日志查看器
  10. HADOOP docker(三):HDFS高可用实验