补题数:3道(A、B、F)
A.装备二选一
解析:利用公式a*b+(100-a)>=c*d+(100-c)去判断是否应该更换武器
#include<iostream>
using namespace std;
signed main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
cout<< ((a*b+(100-a)>=c*d+(100-c)) ? "NO":"YES");
}
B.百变吗喽
解析:分情况对string容器进行讨论
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,i1,i2;
string s1,s2;
int main(){
cin>>s1>>s2;
n=s2.length();
for(i1=0;i1<n-1 && s1[i1]==s2[i1];i1++);
for(i2=n-1;i2>=0 && s1[i2-1]==s2[i2];i2--);
if(i2<=i1){
cout<<i1-i2+1<<endl;
for(int i=i2;i<=i1;i++)
cout<<i<<" "<<s2[i]<<endl;
}
else cout<<0<<endl;
return 0;
}
F.追寻光的方向
解析:利用好最大值找方位,去判断结果
#include<iostream>
using namespace std;
int n,a[100005];
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
int ans=0,m=0;
for(int i=n;i>1;i--){
if(m<=a[i])m=a[i],ans++;
}
cout<<ans-1<<endl;
}