T332558 「SIOI-2」C老师的转盘题解

题目传送门

题目背景

『C』老师,一个可恶的数学老师(?

//这把我坑的不轻。

笑死我,『mmh』被『C』老师的转盘给制裁了,明明是最好的却败给了“概率”。

爷的思路(?

首先,我们知道这题要输出这 4 个数的比值和这 4 个数大概占的百分比。

对于比值,我们找到这 4 个数的最大公约数,用 ÷ 就可以算出。

而对于百分比,我们可以用 ÷4 来算出。

AC Code

#include <bits/stdc++.h>
using namespace std;
int n,cnt[4];
int main(){
    scanf("%d",&n);//简单地输入aaa
    for(int i=1;i<=n;i++){
        int a;
        scanf("%d",&a);
        cnt[a-1]++;
    }
    int gcd=__gcd(cnt[0],__gcd(cnt[1],__gcd(cnt[2],cnt[3]))),total_area=0;//求出四个数的最大公约数
    for(int i=0;i<4;i++){
        cnt[i]=cnt[i]/gcd;//算出比值
        total_area+=cnt[i];//算出比值之和
        printf("%d",cnt[i]);//简单输出aaa
        if(i!=3) printf(":");
        else printf("\n");
    }
    for(int i=0;i<4;i++){
        if(i!=3) printf("%0.1lf%% ",100.0*cnt[i]/total_area);//算出百分比并输出aaa
        else printf("%0.1lf%%",100.0*cnt[i]/total_area);
    }
    return 0;
}
posted @   Zhao_zzZ  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示