第一次场切 A~F,写个题解纪念一下。
比赛链接:https://atcoder.jp/contests/abc367
A - Shout Everyday
题意:
高桥每天 \(B\) 时刻睡觉,\(C\) 时刻起床(\(B,C\) 时刻也在睡觉),请问高桥 \(A\) 时刻是否没睡。
思路:
对于 \(B<=C\) 和 \(B>C\) 分别处理即可。
代码:
https://atcoder.jp/contests/abc367/submissions/56776201
B - Cut .0
题意:
给定一个保留三位小数的实数 \(X\),若 \(X\) 为整数,输出 \(X\),否则将 \(X\) 小数点后的 \(0\) 删去后输出。
思路:
利用 C++ 特性,可以直接输入 \(X\) 然后输出 \(X\)。
代码:
https://atcoder.jp/contests/abc367/submissions/56835187
C - Enumerate Sequences
题意:
给定 \(n,k\)(\(1\le n\le 8, 2\le k\le 10\)) 和一个长度为 \(n\) 的数组 \(r_i\)(\(1\le r_i\le 5\)),请你按照字典序从小到大输出满足以下条件的序列:
- 序列长度为 \(n\)。
- 序列中的每一个元素 \(a_i\),都要满足 \(a_i\le r_i\)。
- 序列中数的总和是 \(k\) 的倍数。
思路:
观察到 \(n\) 和 \(r_i\) 都很小,考虑爆搜,枚举每一个元素该选什么,累加总和,如果元素大小是从 \(1\) 枚举到 \(r_i\),那么直接输出序列,字典序一定从小到大。
代码:
https://atcoder.jp/contests/abc367/submissions/56788422