#38503: 可以問一下為甚麼會超時嗎,謝謝


0402tim@gmail.com (owo)

學校 : 不指定學校
編號 : 134148
來源 : [140.117.248.203]
最後登入時間 :
2024-10-15 16:34:56
a223. 10298 - Power Strings -- UVa10298 | From: [39.10.40.43] | 發表日期 : 2023-12-01 08:36

#include <iostream>			
#include<string>			//為甚麼超時 

using namespace std;
 
int main(){

	string s;
	while(cin>>s&&s!="."){
//		cout<<s.size()<<endl;
		int c=0,i=1,count;
		while(c==0){		
		
		while(s[0]!=s[i]&&i<s.size()){//找子字串長度
			i++;
		}
		if(i==s.size()){
			cout<<"1"<<endl;
			break;
		}
		
//		if(s.size()%i!=0)	continue;//會出錯 
		
//		cout<<i<<endl;
		count=1;
		for(int j=0;j+i+i<s.size();j+=i){
			if(s.substr(0,i)==s.substr(j+i,i)){
				count++;
				c=1;
			}else{
				i++;
				c=0;//如果不一樣就繼續增加子字串長度,然後再找
				break;
			}
		}
		
		}
		if(i!=s.size())
		cout<<count<<endl;
	}


	return 0;
}
 
#38598: Re: 可以問一下為甚麼會超時嗎,謝謝


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a223. 10298 - Power Strings -- UVa10298 | From: [101.136.114.122] | 發表日期 : 2023-12-09 16:36

#include 			
#include			//為甚麼超時 

using namespace std;
 
int main(){

	string s;
	while(cin>>s&&s!="."){
//		cout<


我隨便輸入abab就變成無限迴圈了

 
ZeroJudge Forum