CodeForces
来源:互联网 发布:python rsa 加密 编辑:程序博客网 时间:2024/06/03 17:53
就是模拟啊,不过得把特殊的几个找出来,1、q=0。2、b1=0。3、q=1。4、q=-1,剩下的模拟就行,一开始忽略了-1这个情况,汗,我说为什么超时,对啦,还必须判断下b1 > l的情况,不然卡在第14组实例,这组实例应该是b > l 但是q=0或q=1或q=-1吧
ac代码:
#include <iostream>#include <cstdio>#include <cmath>#include <set>#include <queue>#include <algorithm>#define ll long longusing namespace std;const int maxn=1e5+10;ll b,q,l,m;set<ll> st;int main(){while(~scanf("%I64d%I64d%I64d%I64d",&b,&q,&l,&m)){st.clear();ll tmp;for(ll i=1;i<=m;i++){scanf("%I64d",&tmp);st.insert(tmp);} if(abs(b) > l){printf("0\n");continue ;}if(q==0){if(st.find(0) == st.end()){printf("inf\n");}else if(st.find(b)==st.end()){printf("1\n");}else printf("0\n");continue ; }if(b==0 || q==1){if(st.find(b)==st.end()){printf("inf\n");}else printf("0\n");continue ; }if(q==-1){if(st.find(b)==st.end() || st.find(-b)==st.end()){printf("inf\n");}else printf("0\n");continue ; }int cnt=0;while(abs(b) <= l){if(st.find(b) == st.end()){cnt++;}b=b*q;}printf("%d\n",cnt);}return 0;}
阅读全文
1 0
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- C# dsoframer.ocx 控件注册
- 刘汝佳紫书 及 算法导论 的一些题目
- select 语句
- Android进阶#(5/12)独特高效的数据存储——SQLite数据库_SQLite中的SQL语句
- 第一天matlab多项式拟合
- CodeForces
- ActiveMQ安装和基本使用
- poj题目分类
- 每天一个linux命令(42):kill命令
- Git代码分布式管理之eclipse如何克隆代码
- npm命令
- android调用shell命令及权限问题
- CodeForces
- 架构设计:生产者/消费者模式