• usaco5.5-Hidden Passwords



    最小表示法,感觉可以做成个模板,第一次RE是因为字符串长度变2倍了而我把数组开小了

    Executing...
       Test 1: TEST OK [0.008 secs, 3760 KB]
       Test 2: TEST OK [0.005 secs, 3760 KB]
       Test 3: TEST OK [0.005 secs, 3760 KB]
       Test 4: TEST OK [0.008 secs, 3760 KB]
       Test 5: TEST OK [0.005 secs, 3760 KB]
       Test 6: TEST OK [0.003 secs, 3760 KB]
       Test 7: TEST OK [0.008 secs, 3760 KB]
       Test 8: TEST OK [0.008 secs, 3760 KB]
       Test 9: TEST OK [0.024 secs, 3760 KB]
       Test 10: TEST OK [0.014 secs, 3760 KB]
       Test 11: TEST OK [0.019 secs, 3760 KB]
       Test 12: TEST OK [0.005 secs, 3760 KB]
       Test 13: TEST OK [0.003 secs, 3760 KB]
       Test 14: TEST OK [0.008 secs, 3760 KB]

    All tests OK.



     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 using namespace std;
     5 
     6 char getch2()
     7 {
     8     char c;
     9     while(c=getchar(),c=='
    ');
    10     return c;
    11 }
    12 
    13 char a[200010];
    14 char strTmp[200010];
    15 int main()
    16 {
    17     freopen("hidden.in","r",stdin);
    18     freopen("hidden.out","w",stdout);
    19     int n;
    20     cin>>n;
    21 
    22     for(int i=0;i<n;i++)
    23     {
    24         a[i]=getch2();
    25     }
    26 
    27     a[n]='';
    28 
    29 
    30     strcpy(strTmp,a);
    31     strcat(a,strTmp);
    32 
    33     int i=0,j=1;
    34     while(j<n)
    35     {
    36         int k;
    37         for(k=0;k<n;k++)
    38         {
    39             if(a[i+k]!=a[j+k])
    40                 break;
    41         }
    42         if(k==n)
    43             break;
    44         if(a[i+k]>a[j+k])
    45             i+=k+1;
    46         if(a[i+k]<a[j+k])
    47             j+=k+1;
    48 
    49         if(i==j)
    50             j++;
    51     }
    52 
    53     cout<<i<<endl;
    54     return 0;
    55 }
  • 相关阅读:
    今日总结
    今日总结
    今日总结
    本周总结
    今日总结
    今日总结
    今日总结
    今日总结
    今日总结
    vue3函数setUp和reactive函数详细讲解
  • 原文地址:https://www.cnblogs.com/oneshot/p/3995666.html
Copyright © 2020-2023  润新知