Untitled
unknown
c_cpp
2 years ago
1.1 kB
5
Indexable
#include <stdio.h> #include <string.h> #include<stdlib.h> #include<stdbool.h> int main(){ char s[1000005]; int q,arr[26]={0}; int op[100005]; char a[100005],b[100005]; int a2[100005]; bool changed[1000005] = {false}; scanf("%s%d",s,&q); int len = strlen(s); for(int i=0; i<26; i++) { arr[i] = i+97; } for(int i=0; i<q; i++){ scanf("%d", &op[i]); if(op[i] == 1) { scanf(" %c %c", &a[i], &b[i]); } else { scanf("%d %c", &a2[i], &b[i]); } } for(int i=q-1; i>=0; i--){ if(op[i] == 1) { arr[a[i] - 'a'] = arr[b[i] - 'a']; } else { if(changed[a2[i]] == false) { changed[a2[i]] = true; s[a2[i]] = arr[b[i]-'a']; //printf("A%c", arr[b[i]-'a']); } } } for(int i=0; i<len; i++) { if(!changed[i]) printf("%c", arr[s[i]-'a']); else printf("%c", s[i]); } printf("\n"); }
Editor is loading...