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";
}
posted @ 2026-10-17 18:52  SCX2014  阅读(3)  评论(0)    收藏  举报