核心思想:利用map数据结构优化搜索
1、题意:
给出一个n行m列的数据库,是否存在两个不同行r1,r2和两个不同列c1,c2,使得这两行和这两列相同(即(r1,c1)和(r2,c1)相同,(r1,c2)和(r2,c2)相同)。
2、思路:
- 枚举2列的组合,遍历行。
- 通过map<string,int>为字符串赋予id
- 通过map<pair<int,int>,int>将两列的数据映射到行中
3、注意事项:
1、此问题输入方法
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)
{
value.clear();
while((ch=getchar())&&ch!='\n'&&ch!=',')
{
value.push_back(ch);
}
if(id.count(value))table[i][j]=id