P3879 [TJOI2010] 阅读理解
(题目大骗子,最后一个序号后面明明可以有空格),我原本想的是将map中的两个值都定义成string类型
,但发现不对,然后发现题目说序号能重复,也就是说一个单词多次出现在一个句子时,只用统计一次,然后我就修改,但还是不对,也不知道为什么,我就按照答案的写法将两个值定义为string 和set就ac了
#include<iostream>
#include<set>
#include<map>
#include<algorithm>
#define int long long
const int N = 1e6;
using namespace std;
int a[N];
int ans = 0;
int n,c;
map<string, set<int>>m;
signed main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
int l;
cin >> l;
for (int j = 1; j <= l; j++) {
string str;
cin >> str;
auto it = m.find(str);
if (it == m.end()) {
set<int>s;
s.insert(i);
m.insert(pair<string, set<int>>(str, s));
}
else {
it->second.insert(i);
}
}
}
int k;
cin >> k;
for (int i = 1; i <= k; i++) {
string str;
cin >> str;
auto it = m.find(str);
if (it == m.end())cout << endl;
else {
for (auto is = it->second.begin(); is != it->second.end(); is++) {
cout << *is << " ";
}
cout << endl;
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理