码迷,mamicode.com
首页 > 其他好文 > 详细

UVA - 1610 Party Games (字符串比较)

时间:2019-02-11 10:44:11      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:char   type   比较   amp   clu   str   字典序   def   int   

给你n(n为偶数)个字符串,让你找出一个长度最短且字典序尽量小的字符串,使得一半的字符串小于等于该串,一半的字符串大于该串。

紫薯上说这道题有坑,但其实思路对了就没什么坑。

很明显,只要取夹在中间两个字符串间的最小字符串就行了。可以从小到大枚举字符串的长度,如果该长度下存在满足条件的字符串则返回结果,否则把较小的字符串上对应位的字符加到末尾就行了。

因为想错思路WA了好几次,最后一次WA居然是忘了判断n=0的情况...(为什么我总是完美避开正确答案,QAQ)

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int N=1000+10;
 5 int n;
 6 string s[N],s1,s2;
 7 
 8 string solve() {
 9     string ss;
10     while(1) {
11         for(char ch=A; ch<=Z; ++ch) {
12             string t=ss+ch;
13             if(t>=s1&&t<s2)return t;
14         }
15         ss.push_back(s1[ss.length()]);
16     }
17 }
18 
19 int main() {
20     ios::sync_with_stdio(0);
21     while(cin>>n&&n) {
22         for(int i=0; i<n; ++i)cin>>s[i];
23         sort(s,s+n);
24         s1=s[n/2-1],s2=s[n/2];
25         cout<<solve()<<endl;
26     }
27     return 0;
28 }

 

UVA - 1610 Party Games (字符串比较)

标签:char   type   比较   amp   clu   str   字典序   def   int   

原文地址:https://www.cnblogs.com/asdfsag/p/10360726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!