输入一个n行m列的数据库(1<=n<=10000,1<=m<=10),是否存在两个不同行r1,r2和两个不同列c1,c2,使得这两行和这两行相同(即(r1,c1)和(r2,c1)相同,

(r1,c2)和(r2,c2)相同)。例如,对于如图所示的数据库,第2、3行和第2、3列满足要求

How to compete in AM ICPC

Peter

peter@neerc.ifmo.ru

How to win in AM ICPC

Michael

michael@neerc.ifmo.ru

Notes from AM ICPC champion

Michael

michael@neerc.ifmo.ru

Input

Input contains several datasets. The first line of each dataset contains two integer numbersn and m (1n10000, 1m10), the number of rows and columns in the table. The following n lines contain table rows. Each row hasm column values separated by commas. Column values consist of ASCII characters from space (ASCII code 32) to tilde (ASCII code 126) with the exception of comma (ASCII code 44). Values are not empty and have no leading and trailing spaces. Each row has at most 80 characters (including separating commas).

Output

For each dataset, if the table is in PNF write to the output file a single word ``YES" (without quotes). If the table is not in PNF, then write three lines. On the first line write a single word ``NO" (without quotes). On the second line write two integer row numbers r1 andr2 (1r1,r2n,r1r2), on the third line write two integer column numbers c1 andc2 (1c1,c2m,c1c2), so that values in columnsc1 andc2 are the same in rowsr1 andr2.

Sample input

3 3
How to compete in ACM ICPC,Peter,peter@neerc.ifmo.ru
How to win ACM ICPC,Michael,michael@neerc.ifmo.ru
Notes from ACM ICPC champion,Michael,michael@neerc.ifmo.ru
2 3
1,Peter,peter@neerc.ifmo.ru
2,Michael,michael@neerc.ifmo.ru

Sample output

NO
2 3
2 3
YES
#include<iostream>
#include<cstdio>
#include<map>
#include<string>
#include<vector>
using namespace std;const int ROW = 10000 + 10;
const int COL = 10 + 5;
int n,m;
map<string, int> IDcache;
vector<string> Strcache;
vector<int> Text[ROW];           //处理后的文本,每个字符串都对应一个编号
struct node
{int x,y;node(int x, int y):x(x),y(y) { }bool operator < (const node& r) const{           //重载'<'return x<r.x || x==r.x&&y<r.y; }
};
map<node,int> data;int f(string str)
{if(IDcache.count(str)) return IDcache[str];Strcache.push_back(str);return IDcache[str] = Strcache.size()-1;
}void read()
{string str;char ch = getchar();for(int i=0;i<n;i++){for(;;){ch = getchar();if(ch=='\n'||ch=='\r') {if(!str.empty()) Text[i].push_back(f(str));str.clear(); break;}if(ch!=',') str += ch;else { Text[i].push_back(f(str)); str.clear();}}}
}void solve()
{int x,y,c1,c2;for(c1=0;c1<m;c1++){for(c2=c1+1;c2<m;c2++){data.clear();for(int r=0;r<n;r++){x = Text[r][c1]; y = Text[r][c2];node p(x,y);if(!data.count(p)) data[p] = r;else{cout<<"NO"<<endl;cout<<data[p]+1<<" "<<r+1<<endl<<c1+1<<" "<<c2+1<<endl;return;}}}}cout<<"YES"<<endl;
}int main()
{while(cin>>n>>m){read();solve();for(int i=0;i<n;i++) Text[i].clear();IDcache.clear(); Strcache.clear();}
//system("pause");return 0;
}

UVa1592 数据库(摘)相关推荐

  1. UVA1592数据库

    1.预备知识 1.1map 1.每一元素对(pair)中的第一个值称之为关键字(key),每个关键字只能在map中出现一次:第二个称之为该关键字的对应值: 2. //可以用key作为下标访问value ...

  2. postgis数据库优化_国内首个 Serverless 数据库来了,技术架构全揭秘!

    头图 | CSDN 下载自东方 IC本文为企业投稿 省却成本,缩短产品上市时间,减少运维与开发团队之间的摩擦是 Serverless 最核心的所在,从 AWS 发布「Lambda」让「Serverle ...

  3. 国内首个 Serverless 数据库来了,技术架构全揭秘!

    头图 | CSDN 下载自东方 IC 本文为企业投稿 省却成本,缩短产品上市时间,减少运维与开发团队之间的摩擦是 Serverless 最核心的所在,从 AWS 发布「Lambda」让「Serverl ...

  4. 基于java校园新闻管理系统数据库模块的论文_基于JSP的校园新闻管理系统的设计与实现(MySQL)...

    基于JSP的校园新闻管理系统的设计与实现(MySQL)(包含任务书,开题报告,中期报告,毕业论文,28000字,程序代码,数据库) 摘  要 本人从校园网建设的实际情况出发,经过对相关校园新闻资讯网站 ...

  5. 基于php留言本毕业设计,基于PHP校园学生论坛留言本设计与实现(MySQL)(含录像)

    基于PHP校园学生论坛留言本设计与实现(MySQL)(含录像)(毕业论文12000字,程序代码,MySQL数据库) 摘 要 本课题所实现的网络留言本是基于PHP语言开发实现,使用的数据库是MySql数 ...

  6. pop客户机程序流程图_基于.NET的在线考试系统的设计与实现

    基于.NET的在线考试系统的设计与实现(包含任务书,开题报告,毕业论文19000字,程序代码,数据库) 摘  要 随着互联网的发展,人们已经进入了信息时代.在这种环境下,学生希望得到个性化的满足,这使 ...

  7. java网页作业提交_基于JAVA网上作业提交批改系统的设计(SQL)(含录像)

    基于JAVA网上作业提交批改系统的设计(SQL)(含录像)(毕业论文15000字,程序代码,SQLserver数据库) 摘  要 随着社会的进步,网络技术的发展为教育界提供了一片崭新的空间,传统的教学 ...

  8. php教育网站设计案例_课程教学网站的设计与实现(MySQL)(含录像)

    课程教学网站的设计与实现(MySQL)(含录像)(开题报告,毕业论文17000字,程序代码,MySQL数据库)摘 要 随着Internet技术的发展,人们的学习生活已经离不开网络.未来社会人们的生活和 ...

  9. jsp mysql购物网站a_海来福家具商品交易购物网站的设计(JSP,MySQL)(附答辩记录)

    海来福家具商品交易购物网站的设计(JSP,MySQL)(附答辩记录)(选题审批表,任务书,开题报告,中期报告,答辩审批表,毕业论文14000字,程序代码,数据库) 摘  要 海来福家具网是一个针对家具 ...

  10. vfp计算机sql,浅析VFP与SQL的应用(计算机科学与技术毕业论文)

    内容介绍 原文档由会员 陈海峰 发布 计算机科学与技术毕业论文(共12730字) 论题:浅析VFP(传统数据库)与SQL SERVER(网络数据库) 摘 要 数据库是计算机领域发展最快的科技之一,随着 ...

最新文章

  1. 使用MSBuild实现完整daily build流程
  2. 鸟哥的Linux私房菜10.16 vim程序编辑器
  3. EMC升级Celerra 支持闪存及重复数据删除
  4. python中构造方法可以被继承吗_构造函数是在python中继承的吗
  5. 写程序时如何使用日志
  6. 数组声明为public final static缺陷
  7. 6.824 RPC lesson2 2020(一)
  8. python读取两个csv文件后比较_python – 读取两个csv文件并比较每一行.如果行匹配打印两行,如果不相似则打印无效...
  9. [Java] 蓝桥杯ADV-135 算法提高 三角形面积
  10. 关于net2.0里面新出现的类backgroundworker的应用
  11. 打开含avi格式视频文件的文件夹“死机”问题的解决
  12. 虚拟化技术中,不同层级结构间的虚拟化运用
  13. 【译】3D打印:介绍
  14. woocommerce 下单失败也会清空购物车
  15. HCSA-03 Hillstone系统管理员分类、配置文件信息、版本升级、恢复出厂设置、许可证
  16. Python jieba库的安装
  17. html中去除下划线,下划线怎么取消?
  18. 银行招聘考试计算机题,银行招聘考试:计算机模拟试题(七)答案
  19. java变量无法解析出现的原因_不明白为什么这个变量无法解析为一个类型? (JAVA)...
  20. 红帽Redhat—Linux磁盘管理

热门文章

  1. IOS - 单例模式+多线程
  2. webshell提权20种思路
  3. 获取目录-Winform
  4. 朱光潜:要有悲剧,才能算人生
  5. Nginx笔记总结十一:Nginx重写规则指南
  6. [译] 什么阻塞了 DOM?
  7. Java:注解(Annotation)自定义注解入门
  8. QuickWebApi2:使用Lambda方式,完成对WebApi的开发和调用-文档的生成
  9. TCP连接——爱的传声筒
  10. 第八回 新年晚会艺压群芳 文理分科三人聚首[林大帅作品选]