SP7169

· · 题解

题意

输入 n 个分数,求向上取整所有分数的和并加 1 后的值。

分析

由于输入的分数为 \dfrac{1}{4} 、\dfrac{1}{2} 和 \dfrac{3}{4} 中的一个,我们为了方便计算,把 \dfrac{1}{2} 通分为 \dfrac{2}{4}。然后把所有分数的分子加起来除于 4 向上取整就好了。

不过别忘了他自己还要吃一个,所以答案还要加 1。

代码

#include<bits/stdc++.h>
using namespace std;
int s1,n;
string str;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>str;
        if(str=="1/2"){
            s1+=2;
        }
        else if(str=="3/4"){
            s1+=3;
        }
        else{
            s1+=1;
        }
    }
    cout<<ceil(s1/4.0)+1;
    return 0;
}