C++语言:
#include <iostream> #include <cstring> #include <stdio.h> using namespace std; char str [ 200001 ]; char cc [ 101 ]; int k; int letter [ 26 ][ 200001 ]; int n; int len; void search( int p , int c) { int i , j; for ( i = 0; p > letter [ c ][ i ]; i ++) p -= letter [ c ][ i ]; letter [ c ][ i ] --; for ( j = len * i; p > 0; j ++) if ( str [ j ] == 'a' + c) p --; str [ j - 1 ] = 0; } int main() { scanf( "%d %s" , & k , cc); len = strlen( cc); for ( int i = 0; i < len; i ++) letter [ cc [ i ] - 'a' ][ 0 ] ++; for ( int i = 1; i < k; i ++) for ( int j = 0; j < 26; j ++) letter [ j ][ i ] = letter [ j ][ 0 ]; // printf("...\n"); for ( int i = 0; i < k; i ++) strcpy( str + i * len , cc); // printf("%s\n", str); int p; char c; scanf( "%d" , &n); for ( int i = 0; i < n; i ++) { scanf( "%d %c" , &p , & c); search(p , c - 'a'); } for ( int i = 0; i < len * k; i ++) if ( str [ i ] != 0) printf( "%c" , str [ i ]); printf( " \n "); return 0; }