Hashing

H1

 

#include <bits/stdc++.h>

using namespace std;

map <char,bool> mp;

Tap on the image !

Use the code : Miru2021

int main()
{
    int t;
    cin >> t;
    while(t–)
    {
        mp.clear();
        string str;
        cin >> str;
        bool flag=0;
        for(char ch : str)
        {
            if(mp[ch])
            {
                flag=1;
                break;
            }
            mp[ch]=1;
        }

        cout << (flag?"Yes\n":"No\n" );

    }

H2

 

#include
#include
using namespace std;

void MaxChar(char* str)
{
    int count[256] = {0};

    int len = strlen(str);
    int max = 0;
    char result,maxstr;

    for (int i = 0; i < len; i++) {
        count[str[i]]++;
        if(max == count[str[i]]) {
            if(str[i]<maxstr) maxstr = str[i];
        }
        if (max < count[str[i]]) {
          maxstr = str[i];
          max = count[str[i]];
        }

          result = maxstr;
    }
    cout<<result<<" "<<max;
}

int main() {
  char x[50];
  cin>>x;
  MaxChar(x);
}

Tap here to buy ! 

Use the code : Miru2021

H3

 
#include <bits/stdc++.h>
using namespace std;

typedef pair < char, int > c_i;

bool compare(const c_i &A, const c_i &B ){
if( A.second==B.second ) return ( A.first > B.first );
return ( A.second<B.second );
}

int main(){
int T;
string S;
cin >> T;
while( T– ){
cin >> S;
vector < c_i > sol;
for(int i='a'; i<='z'; i++) sol.push_back( make_pair( (char)(i), 0 ));
for(int i=0; i<(int)S.size(); i++) sol[ S[i]-'a' ].second++;
sort( sol.begin(), sol.end(), compare );
for(int i=0; i<(int)sol.size(); i++) cout << sol[i].first << " ";
cout << endl;
}
return 0;
}

H4

 

#include
#include

using namespace std;

int main() {
int n, m;
cin >> n >> m;
int A[n][m];
for(int i = 0; i < n; i++){
    for(int j = 0; j < m; j++){
        cin >> A[i][j];
    }
}
int q;
cin >> q;
for(int l = 0; l < q; l++){
    int y;
    cin >> y;
    bool done = false;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            if(A[i][j] == y){
                cout << i << " " << j << endl;
                done = true;
                break;
            }
        }
    }
    if(!done){
        cout << "-1 -1" << endl;
    }
}
}

Click ont the image to know more ! 

Use the code : Miru2021

H6

 
#include <iostream>
#include<string.h>
#include<cmath>
using namespace std;

int main()
{
int p,j,k;
cin >> p;
for(int i=0;i<p;i++){
int ans = 0;
int arr1[100] = {0},arr2[100] = {0};
char s[100000] = {'\0'};
char t[100000] = {'\0'};
int res[100];
cin >> s;
cin >> t;
int p = 0;
for(j=0;j<strlen(s);j++){
if(arr1[s[j]-96] == 0){
res[p] = s[j]-96;
p++;
}
arr1[s[j]-96]++;
}
for(j=0;j<strlen(t);j++){
arr2[t[j]-96]++;
if(arr1[t[j]-96] == 0)
ans++;
}
for(k=0;k<p;k++){

if(arr1[res[k]] != arr2[res[k]])
ans = ans + abs(arr2[res[k]]-arr1[res[k]]);
}
cout << ans << "\n";
}
}

H9

 

#include
#include
#include
#include
#include
#include
#include
#include

#define SWAP(a, b) \
    {              \
        a = a ^ b; \
        b = a ^ b; \
        a = a ^ b; \
    }
#define loop(i, start, end, step) for (i = start; i < end; i += step)

#define r_int(n) scanf("%d", &n);
#define r_long(n) scanf("%ld", &n);
#define r_db(n) scanf("%lf", &n);
#define r_lli(n) scanf("%lli", &n);
#define r_llu(n) scanf("%ull", &n);
#define r_line(str) getline(cin, str);

#define w_int(n) printf("%d ", n);
#define w_long(n) printf("%ld ", n);
#define w_db(n) printf("%lf ", n);
#define w_lli(n) printf("%lli ", n);
#define w_llu(n) printf("%u ", n);

using namespace std;
typedef long long int lli;
typedef unsigned long long int ull;

int getHash(int num)
{
    int temp = num, sum = 0;
    while (temp > 0)
    {
        sum += (temp % 10);
        temp /= 10;
    }
    return sum ^ num;
}

int main()
{
    int n, i, j, k, len;
    int maximum_index, maximum, collisions = 0;
    r_int(n);
    vector num(n);
    vector hashes;
    loop(i, 0, n, 1)
    {
        r_int(num[i]);
        hashes.push_back(getHash(num[i]));
    }
    sort(hashes.begin(), hashes.end());
    len = hashes.size();
    vector hash_cnt(len, 0);
    hash_cnt[0] = 1;
    maximum = hash_cnt[0];
    maximum_index = 0;
    loop(i, 1, len, 1)
    {
        if (hashes[i] == hashes[i – 1])
        {
            hash_cnt[i] = hash_cnt[i – 1] + 1;
            collisions++;
        }

        else
            hash_cnt[i] = 1;
        if (maximum < hash_cnt[i])
        {
            maximum = hash_cnt[i];
            maximum_index = i;
        }

        //from github/chilloutwithanas
    }
    if (maximum > 1)
    {
        w_int(hashes[maximum_index]);
        w_int(collisions);
    }
    else
    {
        w_int(hashes[len – 1]);
        w_int(collisions);
    }
    return 0;
}

Tap on the image

Use the code: Miru2021

H10

 
#include<stdio.h>
    #define gc getchar_unlocked
    int read_int(){
    char c=gc();
    while(c<'0' || c>'9')c=gc();
    int ret=0;
    while(c>='0' && c<='9'){ret=10*ret+c-48;c=gc();}
    return ret;
    }
    int main(){
     int t;
     t=read_int();
     while(t–){
     long int i,j,index,n,count=0,kills=0;
     int status=0,mem;
     n=read_int();
     int arr[n],arr2[50000]={0},min,temp;
     for(i=0;i<n;i++){
     arr[i]=read_int();
     arr2[arr[i]]=arr2[arr[i]]+1;
     }
     for(i=1;i<50000;i++){
     //if(i%6==0){count++;}
     mem=arr2[i];
     for(j=0;j<mem;j++){
     if(kills>0 && kills%6==0)count++;
     if((i-count)<=0){
     printf("Goodbye Rick\n");
     printf("%ld\n",kills);
     status=1;
     break;
     }
     count++;
     kills++;
     }
     if(status==1){
     break;
     }
     }
     if(status==0){
     printf("Rick now go and save Carl and Judas\n");
     }
     }
     return 0;
     }

H12

 
#include<iostream>
#include<map>
#include<cstring>
using namespace std;
bool check(map<int,int> M,int k){
for(auto a:M){
if((a.second%k)!=0)
return false;
}
return true;
}
int main(){
int T;
cin>>T;
while(T–){
int N,K;
cin>>N>>K;
map<int,int> M;
for(int i=1;i<=N;i++){
string str;
cin>>str;
M.insert(make_pair(i,str.length()));
}
map<int,int> M2;
for(auto a:M){
if(M2.count(a.second))
M2[a.second]++;
else
M2.insert(make_pair(a.second,1));
}
if(check(M2,K))
cout<<"Possible"<<endl;
else
cout<<"Not possible"<<endl;
}
return 0;
}

H13

 

#include
#include
#include
#include
#include

int main()
{
char kata[10001];
int input,n,i;
input=n=0;
int mark[10001]={0};
scanf("%d",&input);while(getchar()!='\n');
int count=0;
for( i=0;i<input;i++)
{
scanf("%c",&kata[i]);
}
for( i=0;i<input;i++)
{
if(kata[i]=='a'&&mark[(int)kata[i]]==0)
{
count++;
mark[(int)kata[i]]=1;
}
if(kata[i]=='i'&&mark[(int)kata[i]]==0)
{
count++;
mark[(int)kata[i]]=1;
}
if(kata[i]=='u'&&mark[(int)kata[i]]==0)
{
count++;
mark[(int)kata[i]]=1;
}
if(kata[i]=='e'&&mark[(int)kata[i]]==0)
{
count++;
mark[(int)kata[i]]=1;
}
if(kata[i]=='o'&&mark[(int)kata[i]]==0)
{
count++;
mark[(int)kata[i]]=1;
}
}
// printf("%d\n",count);
if(count==5)printf("YES\n");
else printf("NO\n");
return 0;
}

Click on the image ! 

Use the code: Miru2021

H16

 
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;

int main()
{
unordered_map<int,int> M;
int N,maxnum=0;
cin>>N;
for(int i=0;i<N;i++)
{
int num;
cin>>num;
int sum=0;
int temp=num;
while(temp)
{
sum+=temp%10;
temp/=10;
}
num=(num^sum);
if(num>maxnum)
maxnum=num;
auto it=M.find(num);
if(it!=M.end())
it->second++;
else
M.insert(make_pair(num,0));
}
int answer=0,m=0;
for(auto it=M.begin();it!=M.end();it++)
{
answer+=it->second;
if(it->second>m)
m=it->second;
}
if(m!=0)
{
int minvalue=INT_MAX;
for(auto it=M.begin();it!=M.end();it++)
if(it->second==m)
if(minvalue>it->first)
minvalue=it->first;
cout<<minvalue;
}
else
{
int maxvalue=INT_MIN;
for(auto it=M.begin();it!=M.end();it++)
if(it->first>maxvalue)
maxvalue=it->first;
cout<<maxvalue;
}
cout<<" "<<answer;
return 0;
}

H17

 

#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define pii pair<int,int>
#define pll pair<ll,ll>
#define mod 1000000007
#define inf 1000000000
int dx[8] = {-1,-2,-2,-1,1,2,2,1};
int dy[8] = {-2,-1,1,2,2,1,-1,-2};
using namespace std;
int v[2000000],t;
double fi =((double)((1+sqrt(5))/2.0));
int main()
{
    for(int i=1;i<=1000000;i++)
     v[i]=-1;

    for(int i=1;i<=1000000;i++)
        v[(int)(fi*(double)i)] = (int)(fi*fi*i);
    scanf("%d",&t);
    while(t–){
        int a,b;
        scanf("%d %d",&a,&b);
        if(v[a]==b)
            printf("Chandu\n");
        else
            printf("Chandni\n");
     }
}

Check out your favourite anime character 

H18

 
#include <iostream>
using namespace std;

int main()
{
int N,Q;
cin>>N>>Q;
string str;
cin>>str;
int count[N][26];
for(int i=0;i<N;i++)
for(int j=0;j<26;j++)
count[i][j]=0;
for(int i=0;i<N;i++)
{
count[i][str[i]-'a']++;
if(i!=0)
for(int j=0;j<26;j++)
count[i][j]+=count[i-1][j];
}
while(Q–)
{
int l,r;
cin>>l>>r;
l–;
r–;
int arr[26]={0};
if(l==0)
for(int i=0;i<26;i++)
arr[i]=count[r][i]%26;
else
for(int i=0;i<26;i++)
arr[i]=(count[r][i]-count[l-1][i])%26;
string answer;
for(int i=0;i<26;i++)
answer+=arr[i]+'a';
///Suffix Length
for(int i=25;i>=0;i–)
{
bool flag=true;
for(int j=26-i,k=0;j<26;j++,k++)
if(answer[j]!=answer[k])
{
flag=false;
break;
}
if(flag==true)
{
if(i==0)
cout<<"None";
for(int j=0;j<i;j++)
cout<<answer[j];
break;
}
}
cout<<endl;
}

return 0;
}

H20

 

#include<bits/stdc++.h>
using namespace std;

int main()
{
int N;
cin>>N;
int arr[N];
for(int i=0;i<N;i++)
cin>>arr[i];
int unique[200001]={0};
set S;
S.insert(arr[N-1]);
for(int i=N-2;i>=0;i–)
{
unique[i]=S.size();
S.insert(arr[i]);
}
S.clear();
long long int answer=0;
for(int i=0;i<N;i++)
{
if(S.count(arr[i])==0)
answer+=unique[i];
S.insert(arr[i]);
}
cout<<answer;

}

Tap on the image to see 

Use the code: Miru2021

H21

 
#include <stdio.h>
#include <string.h>

int main()
{
int n;
char str[100];
fscanf(stdin, "%d", &n);
while(n–) {
int a[26];

int i;
for(i=0;i<26;++i) {
a[i] = 0;
}
fscanf(stdin, "%s", str);
for( i=0; i<strlen(str); ++i) {
a[str[i]-97]++;
}

for(i=0;i<26;++i) {
if(a[i] > 1) {
fprintf(stdout, "Yes\n");
i=27;
}
}
if(i==26)
fprintf(stdout, "No\n");
}
return 0;
}

H22

 

#include <bits/stdc++.h>

using namespace std;

#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define vint vector
#define vll vector
#define endl cout << '\n'
#define fre(i, l, n) for (int i = l; i < n; ++i)
#define fr(i, l, n) for (int i = l; i <= n; i++)
#define rfre(i, n, l) for (int i = n – 1; i >= l; i–)
#define rfr(i, n, l) for (int i = n; i >= l; –i)
#define tab '\t'
#define debug cout << '*';
#define s(a) cin >> a;
#define p(a) cout << a;
typedef long long int ll;
typedef unsigned long long int ull;
typedef pair<int, int> pii;
typedef pair pll;
typedef pair<int, pair<int, int>> tii;
typedef vector vec;
typedef vector vecll;
typedef vector<pair<int, int>> vec_pii;
typedef vector<pair> vec_pll;
typedef vector<vector> ugraph;
typedef vector<vector<pair<int, int>>> wgraph;
#define mp make_pair
#define pb push_back
#define lb lower_bound
#define ub upper_bound
#define mod 1000000007
#define Pi 3.14159265358979
#define gcd(a, b) __gcd(a, b)
#define sf(n) scanf("%lld", &(n))
#define pf(n) printf("%lld\n", (n))
#define min3(a, b, c) (min((c), min((a), (b))))
#define max3(a, b, c) (max((a), max((b), (c))))
#define w(t) while (t–)
#define flt(a) cout << fixed << setprecision(a)
bool vow(char ch)
{
    if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
    {
        return true;
    }
    return false;
}

Tap on the image

Use the code: Miru2021

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll t;
    s(t);
    w(t)
    {
        string str;
        cin >> str;
        int hash[26] = {0};
        for (ll i = 0; i < str.length(); i++)
        {
            if (!vow(str[i]))
            {
                hash[str[i] – 'a']++;
            }
        }
        ll cnt = 0;
        for (ll i = 0; i < 26; i++)
        {
            if (hash[i])
            {
                cnt++;
            }
        }
        if (cnt % 2)
        {
            cout << "HE!\n";
        }
        else
        {
            cout << "SHE!\n";
        }
    }
    return 0;
}

H23

 
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int t;
   cin>>t;
while(t–)
    {
int n;
       cin>>n;
int a[n+1];
       for(int i=0;i<n;i++)
         cin>>a[i];
sort(a,a+n);
int g=1,ag=0;
bool alive = 1;
for(int i=0;i<n;i++)
     {
if(g>a[i])
         {
alive=0;
           break;
}
       else
         {
ag+=1;
g+=1;
if(ag%6==0)
g+=1;
}
}
if(alive)
cout<<"Rick now go and save Carl and Judas\n";
else
     {
cout<<"Goodbye Rick\n";
cout<<ag<<endl;
}
}
return 0;
}

Leave a Reply

Scroll to Top