洛谷P1628 合并序列
题目描述
有N个单词和字符串T,按字典序输出以字符串T为前缀的所有单词。
输入输出格式
输入格式:
输入文件第一行包含一个正整数N;
接下来N行,每行一个单词,长度不超过100;
最后一行包含字符串T。
【数据规模】
对于60%的数据,满足1≤N≤1000;
对于100%的数据,满足1≤N≤100000且所有字符均为小写字母;
输出格式:
按字典序升序输出答案。
输入输出样例
输入样例#1:
6 na no ki ki ka ku k
输出样例#1:
ka ki ki ku
stl优先队列
屠龙宝刀点击就送
#include <bits/stdc++.h> #include <queue> using namespace std; priority_queue<string,vector<string>,greater<string> >q; int n,i; string str,T,topp; int main() { cin>>n; for(i=0;i<n;++i) { cin>>str; q.push(str); } cin>>T; while(!q.empty()) { topp=q.top(); if(!topp.find(T)) //是前缀 所以必须从0开始匹配到 cout<<topp<<endl; q.pop(); } return 0; }
我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。