A - Seismic magnitude scales
题意:
地震的震级是地震释放能量的对数尺度。我们知道,每次震级增加1,能量量大约乘以32。这里,我们假设每次震级增加1,能量量正好乘以32。在这种情况下,a级地震的能量是B级地震能量的多少倍?
思路:
输出pow(32,A-B),注意数据范围要用long long。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b;
long long ans;
cin>>a>>b;
if(a==b)
{
ans=1;
}
else
{
ans=pow(32,a-b);
}
cout<<ans<<endl;
return 0;
}
B - typo
题目:
给您两个字符串S和T。确定是否可以
通过最多执行一次以下操作,S和T相等:
选择S中的两个相邻字符并交换它们。
请注意,允许选择不执行该操作。
思路:
数据范围较小,所以直接循环判断是否满足s[i]==t[i+1]&&s[i+1]==t[i]即可。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
string s,t;
cin>>s>>t;
if(s==t)
{
cout<<"Yes"<<endl;
}
else
{
for(int i=0;i<s.size();i++)
{
if(s[i]!=t[i])
{
if(s[i]==t[i+1]&&s[i+1]==t[i])
{
cout<<"Yes"<<endl;
break;
}
else
{
cout<<"No"<<endl;
break;
}
}
}
}
return 0;
}