分析
注意在输出的时候最好不要用cout,不然最后一个测试点可能过不了。
#include<bits/stdc++.h>
using namespace std;
int n,m;
int main()
{
cin>>n>>m;
vector<vector<string>> s(m+1);
for(int i=0;i<n;i++)
{
int c,x;
string name;
cin>>name>>c;
while(c--)
{
cin>>x;
s[x].push_back(name);
}
}
for(int i=1;i<=m;i++)
{
sort(s[i].begin(),s[i].end()); //按字典序排序
printf("%d %d\n",i,s[i].size());
for(auto x:s[i])
printf("%s\n", x.c_str()); //c_str()可以把string转换为*char
}
return 0;
}
本文提供了一个使用C++进行编程竞赛的示例代码。该示例展示了如何读取输入并根据类别对字符串进行排序和输出。代码使用了C++标准库中的vector容器和sort函数,并且特别注意到了避免使用cout以免影响最后一个测试点的表现。
1873

被折叠的 条评论
为什么被折叠?



