阅读背景:

使用std::sort从“char”转换到“char*”无效

来源:互联网 
 #include <stdio.h>
   #include <algorithm>
   #include <string.h>
   using namespace std;
   #define MAX 1000000
   char s[MAX+1][21],sir[MAX+1];

   bool cmp( char a[21],char b[21]) {
      return strcmp(a, b) < 0;
    }

    int main()
    {
        FILE *fin,*fout;

        fin=fopen("rocker.in","r");
        fout=fopen("rocker.out","w");

        int i,j,n,k,l,ind;
        char ch;

        fscanf(fin,"%d%d",&n,&k);
        fscanf(fin,"%c",&ch);
        fgets(sir,MAX,fin);

        for(i=0;i<k;i++)
            s[0][i]=sir[i];
        ind=k-1;
        for(i=1;i<n-k+1;i++)
        {
            for(j=0;j<k-1;j++)
                s[i][j]=s[i-1][j+1];
            s[i][k-1]=sir[++ind];
        }

        sort(s[0],s[n-k+1],cmp);

        for(i=0;i<n-k+1;i++)
        {
            j=0;
            while(j<k&&s[i][j]==s[i+1][j])
                j++;
            j--;
            fprintf(fout,"%d\n",j);
        }

        return 0;
    }
 #include <stdio.h>
   #include <algorithm>
   



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: