# e639: 10324 - Zeros and Ones 題目連結:[e639](https://zerojudge.tw/ShowProblem?problemid=e639) 我的程式解法是 掃描並逐次比對 aka暴力解 也就是 第i項 與 第i+1項 逐次比較到n 然後一些要注意的: 1. 題目的 min & max 可能會顛倒放,需要額外判斷 2. 如果在比對中有一項錯誤,就可以直接 break 節省時間 3. 輸出的格式 這樣時間複雜度 BigO(n) 應該是最費時的 但是還是 AC =.= 額外的判斷 ```c= if(min>max){ temp=min; min=max; max=temp; } ``` 逐次判斷 最後輸出字串是一樣的 ````c= for(i=min;i<max;i++){ if(c[i]!=c[i+1]){ printf("No\n"); check=0; break; }else{ check=1; } } if(check==1){ printf("Yes\n"); } ```` 全程式碼: ```c= #include<stdio.h> char c[1000000]; int main(){ int tim=1; while(scanf("%s",c)!=EOF){ int num,r,min,max,check=1,i,temp; scanf("%d",&num); printf("Case %d:\n",tim); for(r=0;r<num;r++){ scanf("%d%d",&min,&max); if(min>max){ temp=min; min=max; max=temp; } for(i=min;i<max;i++){ if(c[i]!=c[i+1]){ printf("No\n"); check=0; break; }else{ check=1; } } if(check==1){ printf("Yes\n"); } } tim+=1; } return 0; } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up