a882 - B. 我灰灰的橡皮鴨是個恐怖的危機
題目描述
題目描述了小鴨展覽前,負責人發現部下喝醉,需要自己油漆橡皮鴨的情況。題目給定一組字串,字串中的每個字元代表橡皮鴨的狀態:'O' 代表已塗滿,'X' 代表未塗,'H' 代表塗了一半。要求計算需要多少桶油漆,已知每隻塗一半的鴨子需要 2 桶油漆,未塗的鴨子也需要 2 桶油漆。
解題思路
題目要求計算需要多少桶油漆,只需要遍歷字串,統計 'X' 和 'H' 的數量,然後將其乘以 2 即可得到需要的油漆桶數。這是一個簡單的字串遍歷和計數問題,可以使用貪心策略,直接統計需要油漆的鴨子數量。
複雜度分析
- 時間複雜度: O(n),其中 n 是字串的長度。需要遍歷字串一次。
- 空間複雜度: O(1),只需要常數級別的額外空間來儲存計數器。
程式碼
#include <stdio.h>
int main(){
int a;
char b[5001];
scanf("%d",&a);
getchar();
while(a--){
int i=0,ans=0;
while((b[i]=getchar())!='\n'){
(b[i]=='X')?ans+=2:(b[i]=='H')?ans++:0;
++i;
}
printf("%d\n",ans);
}
}