对于最小表示法,本蒟蒻感觉永远不会考。。。
那就直接上优化版的最小表示法了
1 int F=0,S=1,Key;
2 while(F<Len &&S<Len) {
3 for(Key=0;Key<Len;Key++) {
4 if(Num[(F+Key)%Len]!=Num[(S+Key)%Len]) break;
5 ` if(Key>=Len) Jud=false,break;
6 if(Num[(F+Key)%Len>Num[(S+Key)%Len]) F+=(Key+1);
7 else F=S+1;
8 if(Num[(S+Key)%Len]>Num[(F+Key)%Len) //同理
9 }
10 printf("%d",&F<S ? F : S);
来源:https://www.cnblogs.com/DeNeRATe/p/12219587.html