题目:https://vjudge.net/problem/UVA-1592

思路:


1.边输入边读,因为string类型数据的读入遇到空格就终止了,所以直接读入string,要一个字符一个字符得读,使用+将字符连接到字符串后,形成新的(可能含空格)的字符串,换行符有\n和\t

2.将字符串映射为数字,因为map中在使用count查找时,比较字符串比较费时,很可能会超时,转化成数字比较就容易很多。确定c1,c2列,遍历行,将对应的数字组成二元组,再映射到行数,具体参见代码

3.注意结构体的定义!!要会写!!

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; }
};

ac代码:


(写的有一丢丢乱...算了,暂时先这样吧,好懒QAQ)

#include <iostream>
#include <cmath>
#include <cstring>
#include <cctype>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <sstream>
#define maxn 105
#define inf 1e+9+10
using namespace std;
typedef long long ll;
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; }
};
char ch;
string s;
int n,m,r2,c1,c2,i,k;
map<string,int> ssin;
map<node,int> ans;
int a[10005][12];//记录整个表string转化成int后的情况
void solve()
{for (c1 = 1; c1 <= m; c1++){for (c2 = c1 + 1; c2<= m; c2++){ans.clear();for ( r2= 1; r2 <= n; r2++){node p(a[r2][c1],a[r2][c2]);if (!ans.count(p))//未找到ans[p] = r2;else{printf("NO\n");printf("%d %d\n", ans[p], r2);printf("%d %d\n", c1, c2);return ;}}}}printf("YES\n");
}
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);ios::sync_with_stdio(false);while (scanf("%d %d", &n, &m) != EOF)//n*m{bool flag = true;ans.clear();ssin.clear();getchar();//读取回车int num = 1;//读入for (i = 1; i <= n; i++){k = 1;s = "";while (1){ch = getchar();if (ch == '\n' || ch == '\t' || ch == ',')//换行{if (!ssin.count(s))//无重复的ssin[s] = num++;a[i][k++] = ssin[s];//第k列的第i行个数编号为ssin[s]s = "";if (ch != ',')break;}elses += ch;}}solve();}return 0;
}

【UVA1592】Database (字符串读入技巧和map的使用)相关推荐

  1. 【HDU - 2072 】单词数(字符串读入技巧,sstream大法,水题,字符串读入格式)

    题干: lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行 ...

  2. Python天天美味(16) - 过滤字符串的技巧,map与itertools.imap

    Python中的map函数非常有用,在字符转换和字符遍历两节都出现过,现在,它又出现了,会给我们带来什么样的惊喜呢?是不是要告诉我们,map是非常棒的,以后要多找它玩呢? 具体的实例 我们需要在目录中 ...

  3. 独家 | 秘籍:10个Python字符串处理技巧(附代码)

    作者:马修·梅奥 翻译:陈之炎 校对:和中华 本文约1600字,建议阅读7分钟. 本文为你介绍利用Python处理字符串的一些基本操作. 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个 ...

  4. 通过输入流获取的xml格式字符串转为json和map格式

    通过输入流获取的xml格式字符串转为json和map格式 xml格式字符串转json格式代码: try {//通过输入流获取xml格式字符串数据ServletInputStream inputStre ...

  5. python split()方法_秘籍:10个Python字符串处理技巧(附代码)

    作者:马修·梅奥 翻译:陈之炎 校对:和中华 本文约1600字,建议阅读7分钟. 本文为你介绍利用Python处理字符串的一些基本操作. 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个 ...

  6. python字符串使用技巧

    python字符串使用技巧 该文章仅为查询使用,当作字典用的.前面可能会有的少,后面会慢慢补齐的,有补充的也欢迎在评论区留言呀 strip() : 去除字符串结尾空格,不改变原字符串,生成新的字符串 ...

  7. LeetCode 2182. 构造限制重复的字符串(贪心、map)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s 和一个整数 repeatLimit ,用 s 中的字符构造一个新字符串 repeatLimitedString ,使任何字母 连续 出 ...

  8. expect 赋值shell变量_Shell处理字符串常用技巧终结篇

    Shell处理字符串常用技巧之判值.赋值 在Shell编程中,经常要处理一些字符串变量. 下面给大家整理Shell处理字符串常用技巧之判值.赋值. 请参考: Shell处理字符串常用技巧之分割.替换字 ...

  9. python 去掉字符串第一个字符_10 个 Python 字符串处理技巧

    (给Python开发者加星标,提升Python技能) 来源:数据派THU 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个字符串处理入门教程,来了解一下利用Python处理字符串的一些基 ...

  10. 正则表达式匹配不包含某些字符串的技巧

    这篇文章主要介绍了正则表达式匹配不包含某些字符串的技巧,详细分解了应该怎么做和这么做的原因,需要的朋友可以参考下 经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^ ...

最新文章

  1. SaltStck 搭建Web集群运用示例 (一)
  2. 安装完mysql后sqlserver_您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗?...
  3. vs2008下设置.h, .lib和 .dll 的路径配置全图及其意义
  4. 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin
  5. EOS Nation更新“flash.sx遭攻击”进展:将建议MSIG根据快照将资金退还
  6. 中国提高表现的药物行业市场供需与战略研究报告
  7. 超级计算机预报威海雨雪,威海历史天气预报查询_2018年12月份威海天气记录_威海2018年12月份天气情况_天气后报...
  8. 玩家国度ROG 幻14 拆机 升级 换固态 换配件 教程
  9. Linux下安装zookeeper集群,以及在window用dubbo和代码测试
  10. Spring Framework中的面向方面编程(AOP),第二部分
  11. 《网上图书销售系统》功能需求
  12. JAVA游戏死神之谜下载_诸神战纪二-死神之谜BT版
  13. Java Bubble Sort 冒泡排序图解
  14. codeforces1299B Aerodynamic
  15. H. Maximal AND
  16. IBM Cloud VPC网络与本地办公网络的互通
  17. 2×3卡方检验prism_抽样分布之卡方分布02 – 分布拟合优度检验
  18. 前端开发者应该知道的 CSS 小技巧
  19. Unity Shader入门学习(5):基础屏幕后处理
  20. Linux网络管理员实用教程

热门文章

  1. php unid,微信扫码登陆/微信公交号 登录PHP 自适应 UnionID统一用户
  2. 项目中发现 unity运行挂机放那大约半小时,运行项目变得越来越卡顿
  3. vue .native 方法未定义_技术分享谈谈Vue的响应式原理
  4. MyBatis学习前篇
  5. linux内核percpu变量声明,Linux内核对per-cpu变量的实现
  6. python selenium点击网页关闭按钮_基于python的selenium-打开关闭第二个页面
  7. CSS兼容IE6,IE7和FF的总结
  8. RedHat 7配置KVM和桥接
  9. python 基础 7.1 datetime 获得时间
  10. 深入分析MVC中通过IOC实现Controller依赖注入的原理