CodeForces - 1025A Doggo Recoloring (简单思维 水题)

本文介绍了一个有趣的问题:如何通过有限的操作使一群颜色各异的小狗统一为同一颜色。具体操作为选择一种颜色,将该颜色的所有小狗变为另一种颜色,且被选颜色至少有两种小狗。文章分析了实现统一颜色的可能性,并提供了解决方案。
摘要由CSDN通过智能技术生成

题目链接:

http://codeforces.com/problemset/problem/1025/A

题目:

Panic is rising in the committee for doggo standardization — the puppies of the new brood have been born multi-colored! In total there are 26 possible colors of puppies in the nature and they are denoted by letters from 'a' to 'z' inclusive.

The committee rules strictly prohibit even the smallest diversity between doggos and hence all the puppies should be of the same color. Thus Slava, the committee employee, has been assigned the task to recolor some puppies into other colors in order to eliminate the difference and make all the puppies have one common color.

Unfortunately, due to bureaucratic reasons and restricted budget, there's only one operation Slava can perform: he can choose a color xx such that there are currently at least two puppies of color xx and recolor all puppies of the color xx into some arbitrary color yy. Luckily, this operation can be applied multiple times (including zero).

For example, if the number of puppies is 77 and their colors are represented as the string "abababc", then in one operation Slava can get the results "zbzbzbc", "bbbbbbc", "aaaaaac", "acacacc" and others. However, if the current color sequence is "abababc", then he can't choose xx='c' right now, because currently only one puppy has the color 'c'.

Help Slava and the committee determine whether it is possible to standardize all the puppies, i.e. after Slava's operations all the puppies should have the same color.

Input

The first line contains a single integer nn (1≤n≤1051≤n≤105) — the number of puppies.

The second line contains a string ss of length nn consisting of lowercase Latin letters, where the ii-th symbol denotes the ii-th puppy's color.

Output

If it's possible to recolor all puppies into one color, print "Yes".

Otherwise print "No".

Output the answer without quotation signs.

Examples

Input

6
aabddc

Output

Yes

Input

3
abc

Output

No

Input

3
jjj

Output

Yes

Note

In the first example Slava can perform the following steps:

  1. take all puppies of color 'a' (a total of two) and recolor them into 'b';
  2. take all puppies of color 'd' (a total of two) and recolor them into 'c';
  3. take all puppies of color 'b' (three puppies for now) and recolor them into 'c'.

In the second example it's impossible to recolor any of the puppies.

In the third example all the puppies' colors are the same; thus there's no need to recolor anything.

题目大意:

有n个小狗,每一种小写字母代表一种颜色,然后颜色的个数在两个以上的就可以染成别的任意颜色,操作次数不限,问你最后能不能把所有的小狗染成同一种颜色。

分析:

两个以上的就可以变成其他颜色,那么只要有一种颜色的数量在两个以上,那么就可以顺次变成其他所有的颜色,然后统一起来,所以,最终颜色不能统一的情况,就只有每个颜色只有一个的情况。

所以只需要判断存不存在颜色的个数大于两个就好啦~~大水题

代码:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>

using namespace std;
const int MAXN=(int)1e5+10;
char s[MAXN];
int vis[300];

int main()
{
    int n;
    scanf("%d %s",&n,s);
    for(int i=0;i<n;i++)
    {
        if(vis[s[i]])
        {
            printf("Yes\n");
            return 0;
        }
        vis[s[i]]=1;
    }
    if(n==1)//少了特判wa了一发 0.0
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值