B4569 [合肥市初中组 2025 T1] 字母 题解
题目大意
给你一个字符串,长度为 \(n\),问 \(26\) 个大写字母中哪些字母没出现过。如果都出现过输出 -1。
算法分析
就是拿个哈希表统计一下,都枚举一遍没出现过就输出,如果都出现过就输出 -1。
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
map<char,bool> mp;
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int n;cin>>n;
string s;cin>>s;
for(int i=0;i<n;i++){
mp[s[i]]=1;
}
bool f=0;//判断有没有没出现过的字母
for(char i='A';i<='Z';i++){
if(mp[i])continue;
cout<<i;f=1;
}
if(!f)cout<<"-1";
}

浙公网安备 33010602011771号