P3879 [TJOI2010]阅读理解

题目

题目

思路

首先给出trie思路:
每个短文单词都存入Trie,然后额外记录该单词的短文编号即可变成普通trie。
但是,为什么不用STL呢?
set大法好,Trie留作作业吧
code:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#include<set>
using namespace std;
map<string,set<int> > a;
int n,m;
string x;
int main()
{
	cin>>n;
	for (int i=0;i<n;i++)
	{
		cin>>m;
		for (int j=0;j<m;j++)
		{
			cin>>x;
			a[x].insert(i+1);
		}
	}
	cin>>n;
	for (int i=0;i<n;i++)
	{
		cin>>x;
		if (a.find(x)!=a.end())
		{
			for (set<int>::iterator it=a[x].begin();it!=a[x].end();it++) cout<<*it<<' ';
		}
		cout<<endl;
	}
    return 0;
}
上一篇:Leetcode[300.实现Trie]-前缀树


下一篇:Trie树(前缀树)