4212. 字符串比较
给定两个长度相等的由大小写英文字母构成的字符串 A 和 B。
请你按照字典顺序对这两个字符串进行比较。
注意,在进行比较时,字母的大小写无关紧要,即大写字母被认为等同于相应的小写字母。
输入格式
第一行,字符串 A。
第二行,字符串 B。
输出格式
如果 A>B,则输出 1,如果 A<B,则输出 −1,如果 A=B,则输出 0。
数据范围
所有测试点满足,1≤|A|,|B|≤100。
输入样例1:
aaaa
aaaA
输出样例1:
0
输入样例2:
abs
Abz
输出样例2:
-1
输入样例3:
abcdefg
AbCdEfF
输出样例3:
1
用ASCII码大小写的关系进行大小写转换
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s1,s2;
cin>>s1>>s2;
int n=s1.length();
for(int i=0;i<n;i++)
{
if(s1[i]>='A'&& s1[i]<='Z') s1[i]+=32;
if(s2[i]>='A'&& s2[i]<='Z') s2[i]+=32;
}
if(s1>s2) cout<<1<<endl;
else if(s1<s2) cout<<-1<<endl;
else cout<<0<<endl;
return 0;
}
tolower() toupper()函数的使用
#include<algorithm>
for(int i=0;i<n;i++)
{
//将每个字母变为小写/大写
s1[i]=tolower(s1[i]);//toupper()
s2[i]=tolower(s2[i]);//toupper()
}
4213.最小结果
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long LL;
char op[5];
LL ans=1e18; //结果定义为无穷
void dfs(vector<LL> v,int u)
{
if(v.size()==1) ans= min(ans,v[0]);
else
{
for(int i=0;i<v.size();i++)//暴搜
for(int j=i+1;j<v.size();j++)//从4个整数中 任选两个数将剩下的放到t数组里
{
vector<LL> t;
for(int k=0;k<v.size();k++)
if(k!=i && k!=j)
t.push_back(v[k]);//将剩下的数组存到t数组中
if(op[u]=='*') t.push_back(v[i]*v[j]);
else t.push_back(v[i]+v[j]);
dfs(t,u+1);
//不用恢复现场是因为我们每次计算都重新开了一个t数组存储 v数组没变
}
}
}
int main()
{
vector<LL>v(4);
for(int i=0;i<4;i++) cin>>v[i];
for(int i=0;i<3;i++) cin>>op[i];
dfs(v,0);
cout<<ans<<endl;
return 0;
}