爵士
爵士
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)); } }
牛客课后习题题解 文章被收录于专栏
等待蜕变