147022025-01-28 16:21:25KristófVáltakozó (75 pont)cpp17Időlimit túllépés 69/75600ms6472 KiB
#include <iostream>
#include <string>
#include <map>

using namespace std;
char nbc(map<char,int> kar,char e,char p)
{    
    if(e!=p && p!='~')
        {
        return p;
        }
for(auto x:kar)
    {

    if(x.first!=e)
        {
        return x.first;
        }
    }
    return 'Ö';

}
char sip(map<char,int>kar,int size)
{

for(auto x : kar)
    {
    //cout<<kar.size()<<"       ";
    //cout<<x.second<<" "<<size<<" sip second ";
    if((x.second*2)-1==size)
        {
        return x.first;
        }
    }
    return '~';

}



int main()
{
    string a;
    cin>>a;
    char p='~';
    int m=a.size();
    map <char,int>kar;
    for(int i=0;i<a.size();i++)
        {
        kar[a[i]]++;
        }
    char e='F';
    while(kar.size()!=0)
        {
        if(sip(kar,m)!='~')
            {
            p=sip(kar,m);
            }
        e=nbc(kar,e,p);
            
        
            
            cout<<e;
            kar[e]--;
            m--;
            
        if(kar[e]==0)
            {
            kar.erase(e);
            }
        }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base69/75
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms508 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms500 KiB
5Elfogadva3/31ms508 KiB
6Elfogadva3/31ms508 KiB
7Elfogadva3/36ms316 KiB
8Elfogadva3/343ms888 KiB
9Időlimit túllépés0/3600ms6472 KiB
10Időlimit túllépés0/3600ms6460 KiB
11Elfogadva3/33ms412 KiB
12Elfogadva3/33ms316 KiB
13Elfogadva3/33ms316 KiB
14Elfogadva3/32ms316 KiB
15Elfogadva3/3172ms736 KiB
16Elfogadva3/3203ms708 KiB
17Elfogadva3/3216ms708 KiB
18Elfogadva3/3236ms736 KiB
19Elfogadva3/3244ms756 KiB
20Elfogadva3/3252ms740 KiB
21Elfogadva3/3256ms736 KiB
22Elfogadva6/6256ms848 KiB
23Elfogadva6/6257ms916 KiB
24Elfogadva6/6261ms708 KiB