#include #include #include using namespace std; struct frequence{ char letter; int times; int ab; int lr; }; bool cmp (frequence a, frequence b){ return a.times + a.ab > b.times + b.ab; } bool letter (frequence a, frequence b){ return a.letter < b.letter; } bool cmp2 (frequence a, frequence b){ return a.lr > b.lr; } frequence alfabet [26]; int pos [26]; int lr [26]; int main () { fstream fin ("keyboard.in", ios::in); fstream fout ("keyboard.out", ios::out); string keyboard = "abcdefghijklmnopqrstuvwxyz"; int n; for (int i = 0; i < 26; i ++){ alfabet [i].letter = char (i) + 'a'; alfabet [i].times = 0; } fin >> n; string text; fin >> text; for (int i = 0; i < n; i ++){ char ch = text [i]; alfabet [ch - 'a'].times ++; } for (int i = 0; i < 26; i ++){ alfabet [i].ab = 0; alfabet [i].lr = 0; } sort (alfabet, alfabet + 26, cmp); char a = alfabet [0].letter, b = alfabet [1].letter; alfabet [0].times = 3000; alfabet [1].times = 2500; //for (int i = 2; i < 26; i ++) alfabet [i].times = 0; sort (alfabet, alfabet + 26, letter); if (text [1] == a){ alfabet [text [0] - 'a'].lr ++; alfabet [text [0] - 'a'].ab --; } if (text [1] == b){ alfabet [text [0] - 'a'].lr ++; alfabet [text [0] - 'a'].ab ++; } if (text [n - 2] == a){ alfabet [text [n - 1] - 'a'].lr --; alfabet [text [n - 1] - 'a'].ab ++; } if (text [n - 2] == b){ alfabet [text [n - 1] - 'a'].lr ++; alfabet [text [n - 1] - 'a'].ab ++; } for (int i = 1; i < n - 1; i ++){ if (text [i + 1] == a){ alfabet [text [i] - 'a'].lr --; alfabet [text [i] - 'a'].ab ++; } if (text [i + 1] == b){ alfabet [text [i] - 'a'].lr ++; alfabet [text [i] - 'a'].ab ++; } if (text [i - 1] == a){ alfabet [text [i] - 'a'].lr --; alfabet [text [i] - 'a'].ab ++; } if (text [i - 1] == b){ alfabet [text [i] - 'a'].lr ++; alfabet [text [i] - 'a'].ab ++; } } sort (alfabet, alfabet + 26, cmp); sort (alfabet + 2, alfabet + 6, cmp2); sort (alfabet + 6, alfabet + 10, cmp2); sort (alfabet + 10, alfabet + 14, cmp2); keyboard [12] = alfabet [0].letter; pos [alfabet [0].letter - 'a'] = 12; lr [alfabet [0].letter - 'a'] = 1; keyboard [16] = alfabet [1].letter; pos [alfabet [1].letter - 'a'] = 16; lr [alfabet [1].letter - 'a'] = 0; keyboard [11] = alfabet [2].letter; pos [alfabet [2].letter - 'a'] = 11; lr [alfabet [2].letter - 'a'] = 1; keyboard [13] = alfabet [3].letter; pos [alfabet [3].letter - 'a'] = 13; lr [alfabet [3].letter - 'a'] = 1; keyboard [15] = alfabet [4].letter; pos [alfabet [4].letter - 'a'] = 15; lr [alfabet [4].letter - 'a'] = 0; keyboard [17] = alfabet [5].letter; pos [alfabet [5].letter - 'a'] = 17; lr [alfabet [5].letter - 'a'] = 0; keyboard [2] = alfabet [6].letter; pos [alfabet [6].letter - 'a'] = 2; lr [alfabet [6].letter - 'a'] = 1; keyboard [20] = alfabet [7].letter; pos [alfabet [7].letter - 'a'] = 20; lr [alfabet [7].letter - 'a'] = 1; keyboard [6] = alfabet [8].letter; pos [alfabet [8].letter - 'a'] = 6; lr [alfabet [8].letter - 'a'] = 0; keyboard [24] = alfabet [9].letter; pos [alfabet [9].letter - 'a'] = 24; lr [alfabet [9].letter - 'a'] = 0; keyboard [3] = alfabet [10].letter; pos [alfabet [10].letter - 'a'] = 3; lr [alfabet [10].letter - 'a'] = 1; keyboard [21] = alfabet [11].letter; pos [alfabet [11].letter - 'a'] = 21; lr [alfabet [11].letter - 'a'] = 1; keyboard [7] = alfabet [12].letter; pos [alfabet [12].letter - 'a'] = 7; lr [alfabet [12].letter - 'a'] = 0; keyboard [25] = alfabet [13].letter; pos [alfabet [13].letter - 'a'] = 25; lr [alfabet [13].letter - 'a'] = 0; keyboard [1] = alfabet [14].letter; pos [alfabet [14].letter - 'a'] = 1; lr [alfabet [14].letter - 'a'] = 1; keyboard [19] = alfabet [15].letter; pos [alfabet [15].letter - 'a'] = 19; lr [alfabet [15].letter - 'a'] = 1; keyboard [5] = alfabet [16].letter; pos [alfabet [16].letter - 'a'] = 5; lr [alfabet [16].letter - 'a'] = 0; keyboard [23] = alfabet [17].letter; pos [alfabet [17].letter - 'a'] = 23; lr [alfabet [17].letter - 'a'] = 0; keyboard [10] = alfabet [18].letter; pos [alfabet [18].letter - 'a'] = 10; lr [alfabet [18].letter - 'a'] = 1; keyboard [14] = alfabet [19].letter; pos [alfabet [19].letter - 'a'] = 14; lr [alfabet [19].letter - 'a'] = 2; keyboard [18] = alfabet [20].letter; pos [alfabet [20].letter - 'a'] = 18; lr [alfabet [20].letter - 'a'] = 0; keyboard [4] = alfabet [21].letter; pos [alfabet [21].letter - 'a'] = 4; lr [alfabet [21].letter - 'a'] = 1; keyboard [22] = alfabet [22].letter; pos [alfabet [22].letter - 'a'] = 22; lr [alfabet [22].letter - 'a'] = 1; keyboard [8] = alfabet [23].letter; pos [alfabet [23].letter - 'a'] = 8; lr [alfabet [23].letter - 'a'] = 0; keyboard [0] = alfabet [24].letter; pos [alfabet [24].letter - 'a'] = 0; lr [alfabet [24].letter - 'a'] = 1; keyboard [9] = alfabet [25].letter; pos [alfabet [25].letter - 'a'] = 9; lr [alfabet [25].letter - 'a'] = 0; fout << keyboard << "\n"; int l = -1, r = -1; for (int i = 0; i < n; i ++){ if (l == -1) if (lr [text [i] - 'a'] == 1) l = pos [text [i] - 'a']; if (r == -1) if (lr [text [i] - 'a'] == 0) r = pos [text [i] - 'a']; if (l != -1 && r != -1) break; } if (l == -1){ l = 12; } if (r == -1){ r = 16; } fout << l + 1 << ' ' << r + 1 << '\n'; //fout << "13 17\n"; fin.close (); fout.close (); return 0; }