http://codeforces.com/problemset/problem/841/A
খুবই সহজ একটা সমস্যা , যদি তুমি প্রোবলেম'টি বুঝতে পারো -- তোমায় প্রথম লাইনে দুইটা সংখ্যা দেয়া থাকবে ( n & k ) । তার পরের লাইনে একটা স্ট্রিং দেয়া থাকবে (যার লেংথ n ) । তোমায় মোট ডুপ্লিকেট সংখ্যা বের করতে হবে , যদি সেটা k এর চেয়ে বড়ো হয় , তাহলে প্রিন্ট করবে "NO" আর না হলে প্রিন্ট করবে "YES" | | এখনো , মনে কোনো সংশয় থাকলে , প্রশ্নটা ভালো করে পড়ো আর সেটার সাথে আমার কথাগুলো মিলাও , আশা করি সব ক্লিয়ার হয়ে যাবে । ।
চলো কোড দেখি ,
IN C++ LANGUAGE..........
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000 + 7;
char s[maxn];
int main() {
int n, k;
scanf("%d %d", &n, &k);
scanf("%s", s);
for(int i = 0; i < n; ++i) {
if(s[i] >= 'A' && s[i] <= 'Z')
s[i] = s[i] - 'A' + 'a';
}
sort(s, s+n);
int cnt = 1;
for(int i = 1; i < n; ++i) {
if(s[i] != s[i-1]) cnt = 1;
else {
cnt++;
if(cnt > k) { printf("NO"); return 0; }
}
}
printf("YES");
return 0;
}
IN C# LANGUAGE..........
using System;
public class Test
{
public static void Main()
{
string s=Console.ReadLine();
string[] values=s.Split(' ');
int a=int.Parse(values[0]);
int b=int.Parse(values[1]);
string str=Console.ReadLine();
string lower=str.ToLower();
int l=lower.Length;
char[] array=new char[l];
for(int i=0;i<l;i++)
{
array[i]=lower[i];
}
Array.Sort<char>(array);
int count=1;
bool joy=true;
for(int j=1;j<l;j++)
{
if(array[j]!=array[j-1])
{
count=1;
}
else
{
count++;
if(count>b)
{
joy=false;
}
}
}
if(joy==false)
{
Console.WriteLine("NO");
}
else
{
Console.WriteLine("YES");
}
}
}
খুবই সহজ একটা সমস্যা , যদি তুমি প্রোবলেম'টি বুঝতে পারো -- তোমায় প্রথম লাইনে দুইটা সংখ্যা দেয়া থাকবে ( n & k ) । তার পরের লাইনে একটা স্ট্রিং দেয়া থাকবে (যার লেংথ n ) । তোমায় মোট ডুপ্লিকেট সংখ্যা বের করতে হবে , যদি সেটা k এর চেয়ে বড়ো হয় , তাহলে প্রিন্ট করবে "NO" আর না হলে প্রিন্ট করবে "YES" | | এখনো , মনে কোনো সংশয় থাকলে , প্রশ্নটা ভালো করে পড়ো আর সেটার সাথে আমার কথাগুলো মিলাও , আশা করি সব ক্লিয়ার হয়ে যাবে । ।
চলো কোড দেখি ,
IN C++ LANGUAGE..........
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000 + 7;
char s[maxn];
int main() {
int n, k;
scanf("%d %d", &n, &k);
scanf("%s", s);
for(int i = 0; i < n; ++i) {
if(s[i] >= 'A' && s[i] <= 'Z')
s[i] = s[i] - 'A' + 'a';
}
sort(s, s+n);
int cnt = 1;
for(int i = 1; i < n; ++i) {
if(s[i] != s[i-1]) cnt = 1;
else {
cnt++;
if(cnt > k) { printf("NO"); return 0; }
}
}
printf("YES");
return 0;
}
IN C# LANGUAGE..........
using System;
public class Test
{
public static void Main()
{
string s=Console.ReadLine();
string[] values=s.Split(' ');
int a=int.Parse(values[0]);
int b=int.Parse(values[1]);
string str=Console.ReadLine();
string lower=str.ToLower();
int l=lower.Length;
char[] array=new char[l];
for(int i=0;i<l;i++)
{
array[i]=lower[i];
}
Array.Sort<char>(array);
int count=1;
bool joy=true;
for(int j=1;j<l;j++)
{
if(array[j]!=array[j-1])
{
count=1;
}
else
{
count++;
if(count>b)
{
joy=false;
}
}
}
if(joy==false)
{
Console.WriteLine("NO");
}
else
{
Console.WriteLine("YES");
}
}
}
No comments:
Post a Comment