Database UVA - 1592】的更多相关文章

对于每组数据,首先通过一个map将每个字符串由一个数字代替,相同的字符串由相同数字代替,不同的字符串由不同数字代替.那么题目就变为了询问是否存在行r1,r2以及列c1,c2使得str[r1][c1]=str[r2][c1]且str[r1][c2]=str[r2][c2](此时所有单元格内都是数字,str[i][j]表示第i行第j列的数字).也就是寻找两行和两列,它们相交所在的四个单元格中上面的两个与下面两个分别相等. 然后,由于行多列少,可以枚举列.对于每次枚举出的两列c1,c2,先清空map,…
Peter studies the theory of relational databases. Table in the relational database consists of values that are arranged in rows and columns. There are different normal forms that database may adhere to. Normal forms are designed to minimize the redun…
思路 直接枚举两列,然后枚举每一行用map依次记录每对字符串出现的是否出现过(字符串最好先处理成数字,这样会更快),如果出现就是"NO",否则就是"YES". AC代码 #include <stdio.h> #include <algorithm> #include <map> #include <string> using namespace std; typedef pair<int, int> pii…
思路: 知识补充: ①make_pair和pair: /*pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存.另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair. pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量. 2 make_pair函数 template pair make_pair(T1 a, T2…
给一个n行m列的数据库表格,问有没有两个行 r1,r2 和 c1,c2,满足(r1,r2)的元素=(c1,c2)的元素. n≤10000,m≤10. 直接枚举4个肯定会T的.可以只枚举c1 c2,然后枚举每一行,将c1 c2加入map里,下面再次枚举到就证明有. pair是个很好用的东西. #include <iostream> #include <cstdio> #include <string> #include <vector> #include &l…
题意: 给出n行m列共n*m个字符串,问有没有在不同行r1,r2,有不同列c1,c2相同.即(r1,c1) = (r2,c1);(r1,c2) = (r2,c2); 如 2 3 123,456,789 123,654,789 (1,3) 就对应(3,3) 如果有这种对应,就输出NO,然后输出两个行号, 两个列号.否则输出YES. 分析: 这题方法类似:http://www.cnblogs.com/Jadon97/p/6877791.html 总结就是先映射, 再操作 将每个字符串映射成一个值.…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举不同的列是哪两个列,然后枚举行. 把那一行的这两列的字符接在一起,然后用map判重. 为了防止逐个比较字符. 可以一开始先把字符串转换成一个整数. 这样,每一行就是一个整数的二元组(x,y)了; 用map<pair<int,int>,int>判重也可以; 或者把它转成long long的数字->x乘一个10W把Y加上去 后者更好. 关同步的时候,getchar()不能用,可以用cin.get()代替 [代…
题意:给出n行m列的数据库(数据范围: n 1~10000, m 1~10), 问你能不能找出两行r1, r2,使得这两行中的c1, c2列是一样的, 即(r1,c1)==(r2,c1) && (r1,c2)==(r2,c2), 可以的话输出NO并且输出r1, r2, c1, c2, 否则输出YES! 分析:如果是四个for循环去枚举全部的r1,r2,c1,c2复杂度是O(n*n*m*m),肯定超时!能否减少枚举量?或者只是枚举行或者列?这里可以使用map做到!map的键值设置为一个pai…
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…
例题5--9 数据库 Database UVa 1592 #include<iostream> #include<stdio.h> #include<string.h> #include<cmath> #include<string> #include<queue> #include<stack> #include<vector> #include<map> #include<set>…