ZOJ 1729 Hidden Password

  POJ1509没什么区别,只是输入形式上有些许改变,而且这里要求输出的位置是字符串的

下标,而不用再加1

 

/*Accepted     1729     C++     10ms     276kb     Yu*/

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<algorithm>

using namespace std;



const int MAXN = 100100;

char s[MAXN];

int n, T;



int Minpre()

{

    int i = 0, j = 1, k = 0, x, y;

    while(i < n && j < n && k < n)

    {

        x = (i + k) % n;

        y = (j + k) % n;

        if(s[x] < s[y])

            j += k + 1, k = 0;

        else if(s[x] > s[y])

            i += k + 1, k = 0;

        else

            ++ k;

        if(i == j) j ++;

    }

    return min(i, j);

}



int main()

{

    scanf("%d", &T);

    while(T --)

    {

        scanf("%d%s", &n, s);

        printf("%d\n", Minpre());

    }

    return 0;

}

 

 

 

你可能感兴趣的:(password)