P1628 合并序列[普及-]
https://www.luogu.com.cn/problem/P1628
涉及知识点:字符串,排序,二叉堆
涉及知识点:字符串,排序,二叉堆
橙色题
思路:
主要用到的函数为find函数,find函数用来对原始数据中某个字符串进行定位,以确定其位置,返回位置。
判断是否是以字符串T为前缀的单词只需要find返回的数为0即可(因为是求字符串首,字符串下标从0开始,所以当返回0时符合)
代码:
#include <iostream> #include <algorithm> using namespace std; int n; string k,a[1000005]; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>k; sort(a+1,a+n+1);//将所有的单词都按字典序排序 for(int i=1;i<=n;i++) if(a[i].find(k)==0)cout<<a[i]<<endl; //判断是否是以字符串T为前缀的单词,如果是输出 return 0; }

浙公网安备 33010602011771号