PAT B1070 结绳

看看自己的写法和别人简练写法的差距

#include<iostream>
#include<vector>
#include<cmath>
#include<algorithm>
using namespace std;
bool cmp(double a, double b) {
    return a < b;
}
int main() {
    int n;
    vector<double> rest;
    double length, ans = 0.0;
    scanf("%d", &n);
    while (n--) {
        scanf("%lf", &length);
        rest.push_back(length);
    }
    sort(rest.begin(), rest.end(), cmp);
    double a = *(rest.begin());
    double b = *(rest.begin() + 1);
    ans = (a + b) / 2;
    for (int i = 2; i < rest.size(); i++) {
        double c = *(rest.begin() + i);
        ans = (ans + c) / 2;
    }
    cout<<floor(ans)<<endl;
    return 0;
}
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    int n;
    scanf("%d", &n);
    vector<int> v(n);
    for (int i = 0; i < n; i++)
        scanf("%d", &v[i]);
    sort(v.begin(), v.end());
    int result = v[0];
    for (int i = 1; i < n; i++)
        result = (result + v[i]) / 2;
    printf("%d", result);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容