A. Vowel Count(模拟)
思路:
按照题意统计元音字母个数模拟即可
#include<iostream> #include<algorithm> using namespace std; int main() { int t; cin>>t; while(t--){ string s; cin>>s; int num=0; int len=s.size(); for(int i=0;i<len;i++) if(s[i]==‘a‘||s[i]==‘e‘||s[i]==‘i‘||s[i]==‘o‘||s[i]==‘u‘) num++; cout<<s<<endl; if(num>len-num) cout<<1<<endl; else cout<<0<<endl; } return 0; }
B. Soccer Standings(暴力枚举)
思路:
暴力枚举赢的次数跟输的次数,再判断得分是否合法
#include<iostream> #include<algorithm> using namespace std; int main() { int t,n,m; cin>>t; for(int i=1;i<=t;i++){ cin>>n>>m; cout<<"Team #"<<i<<endl; cout<<"Games: "<<n<<endl; cout<<"Points: "<<m<<endl; cout<<"Possible records:"<<endl; for(int i=m/3;i>=0;i--){ if(i+m-3*i<=n) cout<<i<<"-"<<m-3*i<<"-"<<n-(i+m-3*i)<<endl; else break; } cout<<endl; } return 0; }
C. Jumping Frog(贪心)
思路:
先判断不可行的情况,如果有连续长度大于$d$的$X$,则无法通过
之后进行贪心求最小值,假设我们的当前位置为$pos$,那么我们可以从$pos+d+1$这个点开始往回找第一个为$.$的位置,这一次跳跃操作就跳至那里
不断进行前面的操作,就可以求出最小值
#include<iostream> #include<algorithm> using namespace std; int t,n,d; string str; int main(){ cin>>t; for(int cas=1;cas<=t;cas++){ cin>>n>>d>>str; cout<<"Day #"<<cas<<endl; cout<<n<<" "<<d<<endl; cout<<str<<endl; int cnt=0; for(int i=0;i<str.size();i++){ if(str[i]==‘X‘){ int j; for(j=i;j<str.size();j++) if(str[j]!=‘X‘) break; if(j-i>d) { cnt=-1; break; } i=j; } } if(cnt!=-1) for(int i=0;i<str.size();){ if(i+d+1>=str.size()-1) { cnt++; break; } if(str[i+d+1]==‘.‘) i=i+d+1,cnt++; else{ int j; for(j=i+d+1;j>=i;j--) if(str[j]==‘.‘) break; i=j;cnt++; } } cout<<max(cnt,0)<<endl<<endl; } }
D. Fujiyama Thursday(贪心)
思路:
根据贪心的思想,吃饭越快的人肯定坐越快的车,所以我们将每个人吃饭的时间加上坐车的时间排序后去最大值就好了
#include<iostream> #include<algorithm> using namespace std; const int maxn=1e3+10; int a[maxn],b[maxn]; int main() { int t,c,n; cin>>t; for(int cas=1;cas<=t;cas++){ cin>>c; n=4*c; for(int i=1;i<=c;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>b[i]; sort(a+1,a+1+c); sort(b+1,b+1+n); reverse(b+1,b+1+n); for(int i=1;i<=n;i++){ b[i]+=a[(i-1)/4+1]; } sort(b+1,b+1+n); cout<<"Trip #"<<cas<<": "<<b[n]<<endl; } return 0; }
UCF Local Programming Contest 2014题解
原文:https://www.cnblogs.com/overrate-wsj/p/13227633.html