Pagini recente » Cod sursa (job #3175574) | Cod sursa (job #3290127) | Cod sursa (job #2466526) | Cod sursa (job #2466527) | Cod sursa (job #2466963)
#include <bits/stdc++.h>
using namespace std;
set<int> letters[256];
string S;
int Q;
int main() {
int i, x, y, l, r, op;
char let;
cin >> S;
for(i = 0; i < S.size(); i++) letters[ S[i] ].insert(i + 1);
for(i = 'a'; i <= 'z'; i++) letters[i].insert(1000000);
cin >> Q;
while(Q--)
{
cin >> op;
if(op == 1){
cin >> x >> let;
letters[ S[x-1] ].erase(x);
S[x-1] = let;
letters[ S[x-1] ].insert(x);
}
else{
cin >> l >> r;
int cnt = 0;
for(i = 'a'; i <= 'z'; i++)
if(*(letters[i].lower_bound(l)) <= r) ++cnt;
cout << cnt << '\n';
}
}
return 0;
}