【UVA1592】Database (字符串读入技巧和map的使用)
题目: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的使用)相关推荐
- 【HDU - 2072 】单词数(字符串读入技巧,sstream大法,水题,字符串读入格式)
题干: lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行 ...
- Python天天美味(16) - 过滤字符串的技巧,map与itertools.imap
Python中的map函数非常有用,在字符转换和字符遍历两节都出现过,现在,它又出现了,会给我们带来什么样的惊喜呢?是不是要告诉我们,map是非常棒的,以后要多找它玩呢? 具体的实例 我们需要在目录中 ...
- 独家 | 秘籍:10个Python字符串处理技巧(附代码)
作者:马修·梅奥 翻译:陈之炎 校对:和中华 本文约1600字,建议阅读7分钟. 本文为你介绍利用Python处理字符串的一些基本操作. 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个 ...
- 通过输入流获取的xml格式字符串转为json和map格式
通过输入流获取的xml格式字符串转为json和map格式 xml格式字符串转json格式代码: try {//通过输入流获取xml格式字符串数据ServletInputStream inputStre ...
- python split()方法_秘籍:10个Python字符串处理技巧(附代码)
作者:马修·梅奥 翻译:陈之炎 校对:和中华 本文约1600字,建议阅读7分钟. 本文为你介绍利用Python处理字符串的一些基本操作. 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个 ...
- python字符串使用技巧
python字符串使用技巧 该文章仅为查询使用,当作字典用的.前面可能会有的少,后面会慢慢补齐的,有补充的也欢迎在评论区留言呀 strip() : 去除字符串结尾空格,不改变原字符串,生成新的字符串 ...
- LeetCode 2182. 构造限制重复的字符串(贪心、map)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s 和一个整数 repeatLimit ,用 s 中的字符构造一个新字符串 repeatLimitedString ,使任何字母 连续 出 ...
- expect 赋值shell变量_Shell处理字符串常用技巧终结篇
Shell处理字符串常用技巧之判值.赋值 在Shell编程中,经常要处理一些字符串变量. 下面给大家整理Shell处理字符串常用技巧之判值.赋值. 请参考: Shell处理字符串常用技巧之分割.替换字 ...
- python 去掉字符串第一个字符_10 个 Python 字符串处理技巧
(给Python开发者加星标,提升Python技能) 来源:数据派THU 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个字符串处理入门教程,来了解一下利用Python处理字符串的一些基 ...
- 正则表达式匹配不包含某些字符串的技巧
这篇文章主要介绍了正则表达式匹配不包含某些字符串的技巧,详细分解了应该怎么做和这么做的原因,需要的朋友可以参考下 经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^ ...
最新文章
- SaltStck 搭建Web集群运用示例 (一)
- 安装完mysql后sqlserver_您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗?...
- vs2008下设置.h, .lib和 .dll 的路径配置全图及其意义
- 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin
- EOS Nation更新“flash.sx遭攻击”进展:将建议MSIG根据快照将资金退还
- 中国提高表现的药物行业市场供需与战略研究报告
- 超级计算机预报威海雨雪,威海历史天气预报查询_2018年12月份威海天气记录_威海2018年12月份天气情况_天气后报...
- 玩家国度ROG 幻14 拆机 升级 换固态 换配件 教程
- Linux下安装zookeeper集群,以及在window用dubbo和代码测试
- Spring Framework中的面向方面编程(AOP),第二部分
- 《网上图书销售系统》功能需求
- JAVA游戏死神之谜下载_诸神战纪二-死神之谜BT版
- Java Bubble Sort 冒泡排序图解
- codeforces1299B Aerodynamic
- H. Maximal AND
- IBM Cloud VPC网络与本地办公网络的互通
- 2×3卡方检验prism_抽样分布之卡方分布02 – 分布拟合优度检验
- 前端开发者应该知道的 CSS 小技巧
- Unity Shader入门学习(5):基础屏幕后处理
- Linux网络管理员实用教程
热门文章
- php unid,微信扫码登陆/微信公交号 登录PHP 自适应 UnionID统一用户
- 项目中发现 unity运行挂机放那大约半小时,运行项目变得越来越卡顿
- vue .native 方法未定义_技术分享谈谈Vue的响应式原理
- MyBatis学习前篇
- linux内核percpu变量声明,Linux内核对per-cpu变量的实现
- python selenium点击网页关闭按钮_基于python的selenium-打开关闭第二个页面
- CSS兼容IE6,IE7和FF的总结
- RedHat 7配置KVM和桥接
- python 基础 7.1 datetime 获得时间
- 深入分析MVC中通过IOC实现Controller依赖注入的原理