A2326 | 飞镖
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
飞镖是在欧洲颇为流行的一项运动。它的镖盘上分为20个扇形区域,分别标有1到20的分值,每个区域中有单倍、双倍和三倍的区域,打中对应的区域会得到分值乘以倍数所对应的分数。
例如打中18分里面的三倍区域,就会得到54分。
另外,在镖盘的中央,还有”小红心“和”大红心“,分别是25分和50分。
通常的飞镖规则还有一条,那就是在最后一镖的时候,必须以双倍结束战斗,才算获胜。也就是说,当还剩12分的时候,必须打中双倍的6才算赢,而打中单倍的12或者三倍的4则不算。
特别的,”大红心“也算双倍(双倍的25)。在这样的规则下,3镖能解决的最多分数是170分(两个三倍的20,最后用大红心结束)。
现在,lxhgww把原来的1到20分的分值变为了1到K分,同时把小红心的分数变为了M分(大红心是其双倍),现在lxhgww想知道能否在3镖内(可以不一定用满3镖)解决X分。同样的,最后一镖必须是双倍(包括大红心)。
例如打中18分里面的三倍区域,就会得到54分。
另外,在镖盘的中央,还有”小红心“和”大红心“,分别是25分和50分。
通常的飞镖规则还有一条,那就是在最后一镖的时候,必须以双倍结束战斗,才算获胜。也就是说,当还剩12分的时候,必须打中双倍的6才算赢,而打中单倍的12或者三倍的4则不算。
特别的,”大红心“也算双倍(双倍的25)。在这样的规则下,3镖能解决的最多分数是170分(两个三倍的20,最后用大红心结束)。
现在,lxhgww把原来的1到20分的分值变为了1到K分,同时把小红心的分数变为了M分(大红心是其双倍),现在lxhgww想知道能否在3镖内(可以不一定用满3镖)解决X分。同样的,最后一镖必须是双倍(包括大红心)。
输入格式
输入的第一行是一个整数T,包括了T组数据。
第二行是5个整数,$A_1,B_1,C_1,D_1,K_1$,表示第一组数据的镖盘是从1到$K_1$分的,随后数据的镖盘由公式$K_i=(A_1K^2_{i-1}+B_1K_{i-1}+C_1)mod D_1 + 20$决定,其中第$i(1<i\le T)$组数据的镖盘是从1到$K_i$分的。
第三行是5个整数,$A_2,B_2,C_2,D_2,M_1$,表示第一组数据的小红心$M_1$分的,随后数据的镖盘由公式$M_i=(A_2M^2_{i-1}+B_2M_{i-1}+C_2)mod D_2 + 20$决定,其中第$i(1<i\le T)$组数据的小红心是$M_i$分。
第四行是5个整数,$A_3,B_3,C_3,D_3,X_1$,表示第一组数据需要解决的分数是$X_1$分的,随后数据的镖盘由公式$X_i=(A_3X^2_{i-1}+B_3X_{i-1}+C_3)mod D_3 + 20$决定,其中第$i(1<i\le T)$组数据需要解决的分数是$X_i$分。
第二行是5个整数,$A_1,B_1,C_1,D_1,K_1$,表示第一组数据的镖盘是从1到$K_1$分的,随后数据的镖盘由公式$K_i=(A_1K^2_{i-1}+B_1K_{i-1}+C_1)mod D_1 + 20$决定,其中第$i(1<i\le T)$组数据的镖盘是从1到$K_i$分的。
第三行是5个整数,$A_2,B_2,C_2,D_2,M_1$,表示第一组数据的小红心$M_1$分的,随后数据的镖盘由公式$M_i=(A_2M^2_{i-1}+B_2M_{i-1}+C_2)mod D_2 + 20$决定,其中第$i(1<i\le T)$组数据的小红心是$M_i$分。
第四行是5个整数,$A_3,B_3,C_3,D_3,X_1$,表示第一组数据需要解决的分数是$X_1$分的,随后数据的镖盘由公式$X_i=(A_3X^2_{i-1}+B_3X_{i-1}+C_3)mod D_3 + 20$决定,其中第$i(1<i\le T)$组数据需要解决的分数是$X_i$分。
输出格式
一行,包括一个数字,表示这T组数据中,能够被解决的数据数目。
输入输出样例
输入 #1
5 1 2 2 10 20 1 3 2 15 25 2 2 5 200 170
输出 #1
4
对于30%的数据,保证$1\le T\le 20$,$20\le K1,M1,X1,D1,D2,D3\le 1000$
对于100%的数据,保证$1\le T\le 10^6$,$20\le K1,M1,X1,D1,D2,D3\le 10^9$
对于所有的数据,保证$0\le A1,B1,A2,B2,C2,A3,B3,C3 \le 10^9$
对于100%的数据,保证$1\le T\le 10^6$,$20\le K1,M1,X1,D1,D2,D3\le 10^9$
对于所有的数据,保证$0\le A1,B1,A2,B2,C2,A3,B3,C3 \le 10^9$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted