刘汝佳上传的代码没耐心看。。。就大致照着书上写的思路写了一个。。。一开始发现全写错了耗了半天。。。

定义一个pair,这个pair里有存两个队,字符串对和int对。每每读入一行的时候看看map中是否存在这个对。

自己感觉坑就是,一行中可能存在重复的字符

像这样:

2 4

a,b,a,b

a,b,c,d

第一行中存在两个字符串想等但列根本不想等的两对

下面是代码:

#include<algorithm>
#include<queue>
#include<iostream>
#include<vector>
#include<cstdio>
#include<set>
#include<sstream>
#include<cstring>
#include<map>
#include<queue>
using namespace std;
string save[10005][15];
set<pair<pair<string,string>,pair<int,int>>> git;
map<pair<pair<string,string>,pair<int,int>> , int> row;int main(){int n,m,i,j;while(~scanf("%d%d",&n,&m)){git.clear();row.clear();getchar();for(i=0;i<n;i++){char t[2000];gets(t);string in=t;int len=0,r=0;j=0;while(in[r]!='\0'&&in[r]!='\n'){len=0;while(in[r]!=','&&in[r]!='\0'&&in[r]!='\n'){r++;len++;}save[i][j]=in.substr(r-len,len);if(in[r]=='\n'||in[r]=='\0'){break;}j++;r++;}}int flag=1;pair<string,string> article;pair<int,int> position;pair<pair<string,string>,pair<int,int>> unit;for(i=0;i<n;i++){for(j=0;j<m-1;j++){for(int k=j+1;k<m;k++){article=make_pair(save[i][j], save[i][k]);position=make_pair(j, k);unit=make_pair(article, position);if(git.count(unit)){cout<<"NO"<<endl;cout<<row[unit]+1<<" "<<i+1<<endl;cout<<unit.second.first+1<<" "<<unit.second.second+1<<endl;flag=0;goto here;}else{git.insert(unit);row[unit]=i;}}}}here:if(flag){cout<<"YES"<<endl;}}return 0;
}

刘汝佳紫书 uva1592相关推荐

  1. UVa 11062 Andy's Second Dictionary(刘汝佳紫书升级题)

    在介绍这道题之前,先介绍一下紫书里面和这道题很像的一道题: 紫书P112页 的例题5-3 安迪的第一个字典(Andy's First Dictionary UVa 10815) 原题链接如下: And ...

  2. c语言 开灯问题,刘汝佳紫书[数组和字符串]内容总结

    本篇文章是笔者对紫书第3章--数组和字符串内容的一个整理,主要是基于问题的整理,总结并理顺了一下思路. 不得不说,这些题解真的是太巧妙了

  3. AC自动机模板(摘自刘汝佳紫书,无指针)

    本题的题目选择的是 病毒侵袭持续中 HDU - 3065 const int size=5e4+5; const int SIGMA_SIZE=26; int trie[size][26],val[s ...

  4. (精讲)UVA - 1339 Ancient Cipher 刘汝佳紫书题单(算法竞赛入门经典)

    仔细读题并且对比样例可以发现,字母的替换和换元的规律是不同的,所以不能用模拟法将原来的字符串找到进行比对,所以要从替换换元前后的特点来看. 替换: 替换前后的两个字母集合可以看作是一个映射: 例如 H ...

  5. 整理 刘汝佳紫书第三章习题代码 未完待续

    还有一会儿要去剑道社训练...就整理整理好了... 习题3-1 得分 UVA1585 代码: #include <iostream> using namespace std; int ma ...

  6. UVA - 489 Hangman Judge 刘汝佳紫书题单(算法竞赛入门经典)

    思路很简单,题目中说猜对目标字母中的一个字母,就会将所有该字母的位置显现,因此,可以对目标字符进行筛选去重,然后对输入猜测的每个字母进行比对,由于不能猜已经猜过的字母,因此,要对成功猜出的目标字母进行 ...

  7. UVA - 1225 Digit Counting(刘汝佳紫书题单(算法竞赛入门经典 第二版 2014)

    个人感觉这道题有表述问题 他的题目表述说明测试数据中的数是不超过20的,但其实他的测试点中是有百位数的,所以按两位数去处理数据显然会造成数组越界. 代码如下 #include <bits/std ...

  8. 对刘汝佳蓝书点双连通分量(BCC)模板的理解

    /*经过简单的使用,对刘汝佳的这个板做几个简单的说明:1.算法结束后每个bcc[i]里存入一个双连通分量的点的标号,其中割点也被存进去,也就是说割点可以属于多个双连通分量2.根据刘汝佳所说的点-双连通 ...

  9. 刘汝佳蓝书后缀数组模板解释及补全

    相信很多初学后缀数组的ACMer在学习蓝书中的后缀数组部分遇到了一些障碍,可能像我一样看明白了P219 --220的讲解和算法,百度了基数排序的方法,然后被卡在P221的代码上了,本文目的即分享我对这 ...

最新文章

  1. sprytabbedpanels.js库之在页面中插入Tabbed Panels
  2. [分布式] ------ 全局唯一id生成之雪花算法(Twitter_Snowflake)
  3. php.ini中Magic_Quotes_Gpc开关设置
  4. 【回顾】如何搭建一套个性化推荐系统?
  5. 大觉寺到鹫峰线路_大觉寺到鹫峰怎么走
  6. phpnow 安装apache失败_PHPnow安装服务[apache_pn]失败的问题的解决方法
  7. 在CentOS 7上安装Node.js的4种方法(yum安装和源码安装)
  8. 面试必掌握之计算机网络
  9. BUUCTF------相册
  10. dms虚拟服务器,dms服务器
  11. 【Excel 教程系列第 15 篇】Excel 中的简单排序(升序 / 降序)、多条件排序、按颜色排序、自定义排序、以及巧用“升序“制作工资条
  12. 2017计算机夏令营汇总
  13. 【已解决】C盘-系统引导盘扩大容量
  14. Python的门面担当 - Tkinter
  15. H5活动之家平台,开启国庆双十一福利,活动全免费
  16. java 插件大全_Java 常用插件
  17. appcan图片上传最新实现方式
  18. 虚拟服务器 补丁,两种方法为VMware ESXi打补丁
  19. 耗时十年!精心整理的Java高级开发需要的分布式技术
  20. 张小龙的微信帝国诞生记

热门文章

  1. Cesium空间分析-填挖方计算(地形、模型通用)
  2. 对伪装docx文件病毒的逆向分析
  3. java制作超炫流星雨表白_制作超炫拱形流星雨插画图片的PS技巧
  4. Redis基础 -- 地理坐标类型 Redis GEO 和 Redis GEO的常用命令(含GEOHASH编码说明)
  5. 星球福利 | 读书的季节,送上豆瓣 Top10 区块链书单
  6. html <table> 表格 表头固定 内容滚动 代码拿去就能用
  7. 如何打开不同格式的图片?图片格式转换的方法又有哪些?
  8. Oracle一个诡异的临时表空间不足的问题
  9. spark count统计元素个数
  10. 刘强东隐退:卸任京东CEO