uva 445
Posted 3532gll
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva 445相关的知识,希望对你有一定的参考价值。
你想想,如果这个串的长度,本身是个质数,例如:7,那么我们肯定可以说,这个串一定,要么是用 1 循环,要么用 本身最长(7)循环,我们所以知道,这题从找因数入手。
好,我们一旦找到了一个因数,比如,长度是 8,我们第一个找到 1,于是,1 和 2,3,4,5,6,7,8 位置的比较,1必须它们都相同,否则找下一个因数
第二个找到 2,于是// 1,2// 位置 和 // 3,4 //5,6//7,8// 一组一组比较,必须完全匹配,
以此类推
代码如下:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n; 5 cin>>n; 6 while(n--){ 7 string s; 8 cin>>s; 9 int len=s.size(); 10 for(int i=1;i<=len;i++) 11 { 12 int flag=1; 13 if(len%i==0) 14 { 15 for(int j=i;j<len;j++){ 16 if(s[j%i]!=s[j]) 17 { 18 flag=0; 19 break; 20 } 21 } 22 if(flag==1) 23 { 24 cout<<i<<endl; 25 break; 26 } 27 } 28 } 29 if(n) cout<<endl; 30 } 31 }
注意不是最后一组的话,打个换行。
以上是关于uva 445的主要内容,如果未能解决你的问题,请参考以下文章
CMU15-445 PROJECT #1 - BUFFER POOL(实验代码,已满分)
CMU15-445 PROJECT #1 - BUFFER POOL(Fall2020实验代码,已满分)