Acwing第 66 场周赛完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 66 场周赛完结相关的知识,希望对你有一定的参考价值。
https://www.acwing.com/activity/content/2224/
目录
4606. 奇偶判断
#include<bits/stdc++.h>
using namespace std;
int main(void)
string s; cin>>s;
int temp=s[s.size()-1]-'0';
cout<<temp%2;
return 0;
4607. 字母补全
#include<bits/stdc++.h>
using namespace std;
int main(void)
string s; cin>>s;
for(int i=0;i<s.size();i++)
if( (i+25) > (s.size()-1) ) continue;
int cnt[32]=0,flag=1;
for(int j=i;j<=i+25;j++)
if(s[j]=='?') continue;
else
int c=s[j]-'A';
if(cnt[c]) flag=0;
cnt[c]++;
if(flag)
queue<char>q,ans;
for(int j=0;j<i;j++)
if(s[j]=='?') ans.push('A');
else ans.push(s[j]);
for(int j=0;j<=25;j++) if(!cnt[j]) q.push('A'+j);
for(int j=i;j<=i+25;j++)
if(s[j]=='?')
ans.push(q.front());
q.pop();
else ans.push(s[j]);
for(int j=i+26;j<s.size();j++)
if(s[j]=='?') ans.push('A');
else ans.push(s[j]);
while(ans.size()) cout<<ans.front(),ans.pop();
return 0;
cout<<-1;
return 0;
4608. 整数分组
#include<bits/stdc++.h>
using namespace std;
int n,a[105],cnt1,cnt2,cnt3;
//cnt1 个数为1
//cnt2 个数为2
//cnt3 个数大于2
map<int,int>mp;
int main(void)
cin>>n;
for(int i=0;i<n;i++) cin>>a[i],mp[a[i]]++;
for(auto i=mp.begin();i!=mp.end();i++)
int cnt=i->second;
if(cnt==1) cnt1++;
if(cnt==2) cnt2++;
if(cnt>2) cnt3++;
if(cnt1&&cnt1%2==0)//只有1,且为偶数
puts("YES");
int st[105]=0,temp=0;
for(int i=0;i<n;i++)
if(mp[a[i]]==1) st[i]=1,temp++;
if(temp==cnt1/2) break;
for(int i=0;i<n;i++)
if(st[i]) cout<<"A";
else cout<<"B";
return 0;
if(cnt2&&!cnt1&&!cnt3)//只有cnt2, 0/0 即可
puts("YES");
for(int i=0;i<n;i++) cout<<"A";
return 0;
if(cnt3&&!cnt1)//只有cnt3, 0/0 即可
puts("YES");
for(int i=0;i<n;i++) cout<<"A";
return 0;
if(cnt3&&cnt1)//1,3 从3中拿出一个来平分
puts("YES");
int st[105]=0,temp=0;
for(int i=0;i<n;i++)
if(mp[a[i]]>2)
st[i]=1,temp++;
break;
for(int i=0;i<n;i++)
if(temp==(cnt1+1)/2) break;
if(mp[a[i]]==1) st[i]=1,temp++;
for(int i=0;i<n;i++)
if(st[i]) cout<<"A";
else cout<<"B";
return 0;
puts("NO");
return 0;
以上是关于Acwing第 66 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章