A
链接:https://ac.nowcoder.com/acm/contest/73422/A
小红正在和小紫对战,给定两个人的胜场数量,请你判断最终是谁获胜了。
输入描述:
两个正整数a,b,用空格隔开。a代表小红的胜场,b代表小紫的胜场。输出描述:
如果小红获胜了,请输出"kou"。如果小紫获胜了,请输出"yukari"。如果最终平局,请输出"draw"。
输入 判断输出
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
string a0 = "kou",b0 = "yukari", c0 = "draw";
cin>>a>>b;
cout<<(a!=b?(a>b?a0:b0):c0);
return 0;
}
B
https://ac.nowcoder.com/acm/contest/73422/B
小红经常会做梦,但她比较喜欢做白日梦。
已知小红白天做梦可以获得 2 点幸福度,晚上做梦可以获得 1 点幸福度。现在给定小红每天中午和晚上睡觉的做梦情况。她可以每天将晚上的梦提前移到白天来做,请问小红总共最多可以获得多少幸福度?
注:只有当白天没做梦且晚上做梦的时候才可以移动梦境。
循环判断
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
int n,ans=0;
cin>>n>>a>>b;
for(int i = 0;i < n;i ++)
{
if((a[i] == 'Y'&&b[i]!='Y')||(a[i] == 'N'&&b[i]=='Y'))
ans+=2;
else if(b[i]=='Y')
ans+=3;
}
cout<<ans;
return 0;
}
C
https://ac.nowcoder.com/acm/contest/73422/C
小红拿到了一个字符串,其中一定包含连续子串"xiao",和连续子串"hong"。
请你将字符串重排,使得该字符串包含"xiaohong"的连续子串。
查找并删除一个“hong”,然后将一个"hong"插入到"xiao"后面即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s1="xiao",s2 ="hong",s;
cin>>s;
int n = s.find(s2);
s.erase(n,4);
n = s.find(s1);
s=s.insert(n+4,s2);
cout<<s;
return 0;
}
D
https://ac.nowcoder.com/acm/contest/73422/D
根据中位数性质,排序后分奇偶判断中位数位置即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
std::ios_base::sync_with_stdio(false);
cin.tie();
int n,x;
vector<int>nums,ans;
cin>>n;
for(int i =0;i < n;i ++)
{
cin>>x;
nums.push_back(x);
}
ans = nums;
sort(ans.begin(),ans.end());
int temp = ans[(n - 1)/2];//1 2 5 8
for(int i =0;i < n;i ++)
{
if(n&1)
{
if(nums[i] > temp)
printf("%.1lf\n",(temp+ans[(n-1)/2 - 1])/2.0);
else if(nums[i] != temp)
printf("%.1lf\n",(temp+aAns[(n-1)/2 + 1])/2.0);
else
printf("%.1lf\n",(ans[(n-1)/2 - 1]+ans[(n-1)/2 + 1])/2.0);
}
else
printf("%.1lf\n",nums[i]>temp?(1.0*temp):(1.0*ans[(n-1)/2+1]));
}
return 0;
}