CF484C.Strange Sorting

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

How many specific orders do you know? Ascending order, descending order, order of ascending length, order of ascending polar angle... Let's have a look at another specific order: dd -sorting. This sorting is applied to the strings of length at least dd , where dd is some positive integer. The characters of the string are sorted in following manner: first come all the 0-th characters of the initial string, then the 1-st ones, then the 2-nd ones and so on, in the end go all the (d1)(d-1) -th characters of the initial string. By the ii -th characters we mean all the character whose positions are exactly ii modulo dd . If two characters stand on the positions with the same remainder of integer division by dd , their relative order after the sorting shouldn't be changed. The string is zero-indexed. For example, for string 'qwerty':

Its 1-sorting is the string 'qwerty' (all characters stand on 0 positions),

Its 2-sorting is the string 'qetwry' (characters 'q', 'e' and 't' stand on 0 positions and characters 'w', 'r' and 'y' are on 1 positions),

Its 3-sorting is the string 'qrwtey' (characters 'q' and 'r' stand on 0 positions, characters 'w' and 't' stand on 1 positions and characters 'e' and 'y' stand on 2 positions),

Its 4-sorting is the string 'qtwyer',

Its 5-sorting is the string 'qywert'.

You are given string SS of length nn and mm shuffling operations of this string. Each shuffling operation accepts two integer arguments kk and dd and transforms string SS as follows. For each ii from 00 to nkn-k in the increasing order we apply the operation of dd -sorting to the substring S\[i..i+k-1\] . Here S\[a..b\] represents a substring that consists of characters on positions from aa to bb inclusive.

After each shuffling operation you need to print string SS .

输入格式

The first line of the input contains a non-empty string SS of length nn , consisting of lowercase and uppercase English letters and digits from 0 to 9.

The second line of the input contains integer mm – the number of shuffling operations ( 1<=mn<=1061<=m·n<=10^{6} ).

Following mm lines contain the descriptions of the operations consisting of two integers kk and dd ( 1<=d<=k<=n1<=d<=k<=n ).

输出格式

After each operation print the current state of string SS .

输入输出样例

  • 输入#1

    qwerty
    3
    4 2
    6 3
    5 2
    

    输出#1

    qertwy
    qtewry
    qetyrw
    

说明/提示

Here is detailed explanation of the sample. The first modification is executed with arguments k=4k=4 , d=2d=2 . That means that you need to apply 2-sorting for each substring of length 4 one by one moving from the left to the right. The string will transform in the following manner:

qwerty qewrty qerwty qertwy

Thus, string SS equals 'qertwy' at the end of first query.

The second modification is executed with arguments k=6k=6 , d=3d=3 . As a result of this operation the whole string SS is replaced by its 3-sorting:

qertwy qtewry

The third modification is executed with arguments k=5k=5 , d=2d=2 .

qtewry qertwy qetyrw

首页