爵士

爵士

https://ac.nowcoder.com/acm/contest/6871/C

题目描述
Sabit 爵士是一名高贵的贵族,看遍了人世繁华,他变得热爱异世界文化。

他喜欢在 QQ 群里和他的小伙伴们聊点二次元文化。可经常他们的话有些偏离二次元,这让 Sabit 很苦恼。

我们认为,假如一句话里含有 2 ,那么这句话很二次元。

同时,群里的二次元浓度由二次元话的数量的占比决定。

现在爵士 Sabit 给你看了一眼群里的聊天记录,希望可以知道群里的二次元浓度是多少。
输入描述:
第一行输入一个整数 T (1\leq T\leq 1001≤T≤100),表示数据的组数。对于每组数据:

第一行输入一个整数 n (1\leq n\leq 2001≤n≤200),表示聊天记录的条数。

接下来 n 行每一行输入一个长度不超过 100 的字符串。保证不包含大写字母、小写字母、数字和空格以外的字符,并且没有连续的空格,行末不含空格。
输出描述:
对于每组数据,在一行中输出一个数字表示群里的二次元浓度。

如果你的答案的相对或绝对误差小于 10^{-4}10
−4
,那么它会被认为是正确的。即如果你的答案是 a 而标准答案为 b,那么你的答案将被认为是正确的当且仅当 \frac{|a-b|}{max(1,|b|)}\leq 10^{-4}
max(1,∣b∣)
∣a−b∣

≤10
−4

示例1
输入
复制
2
2
114 514
1919810
3
kokoro ga pyonpyon suru n jaa
2434
without 2
输出

0.0000000000
0.6666666667

简单签到题就是要注意一下,要用getchar去获取回车

#include <bits/stdc++.h>
using namespace std;
char c[1000];
int main()
{
    int t, n, flag;
    double ans;
    scanf("%d", &t);
    while (t--)
    {
        ans = 0, flag = 0;
        scanf("%d", &n);
        getchar();
        for (int i = 1; i <= n; ++i)
        {
            flag = 0;
            gets(c);
            int lc = strlen(c);
            for (int j = 0; j < lc; ++j)
            {
                if (c[j] == '2')
                {
                    flag = 1;
                    break;
                }
            }
            if (flag)
                ++ans;
        }
        printf("%lf\n", double(ans / n * 1.0));
    }
}
牛客课后习题题解 文章被收录于专栏

等待蜕变

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务