经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C » 查看文章
洛谷P1011 车站
来源:cnblogs  作者:BeInjured  时间:2018/10/9 10:12:13  对本文有异议

题目


  • 一直没有头绪的一道题
  • 明明只有普及-难度
  • 看了看题解用的大多是方程和Fibonacci
  • 于是更加懵逼了。。。
  • 今天立志AC此题
  • 结果用大模拟还真过了

 

  • 说一下思路
  • 然而并没有思路
  • 按照题意敲代码
  • 不妨设第二站上下车了k人
  • 分别统计每一站a和k的系数
  • 1、2、n站特殊处理
  • 然后求出k,代入x站中输出即可

 

  1. 1 #include<bits/stdc++.h>
  2. 2
  3. 3 using namespace std;
  4. 4
  5. 5 int a,n,m,x,k,on[25][2],off[25][2],tot[25][2];
  6. 6
  7. 7 inline int read(void){
  8. 8 int x=0,f=1;char ch=getchar();
  9. 9 while(ch<'0'||ch>'9'){
  10. 10 if(ch=='-') f=-1;
  11. 11 ch=getchar();
  12. 12 }
  13. 13 while(ch>='0'&&ch<='9'){
  14. 14 x=(x<<1)+(x<<3)+ch-'0';
  15. 15 ch=getchar();
  16. 16 }
  17. 17 return x*f;
  18. 18 }
  19. 19
  20. 20 int main(){
  21. 21 a=read();n=read();m=read();x=read();
  22. 22 on[1][0]=1;on[1][1]=0;off[1][0]=0;off[1][1]=0;
  23. 23 on[2][0]=0;on[2][1]=1;off[2][0]=0;off[2][1]=1;
  24. 24 tot[1][0]=(on[1][0]-off[1][0]),tot[1][1]=(on[1][1]-off[1][1]);
  25. 25 tot[2][0]=tot[1][0]+(on[2][0]-off[2][0]),tot[2][1]=tot[1][1]+(on[2][1]-off[2][1]);
  26. 26 for(register int i=3;i<n;i++){
  27. 27 on[i][0]=on[i-1][0]+on[i-2][0];
  28. 28 on[i][1]=on[i-1][1]+on[i-2][1];
  29. 29 off[i][0]=on[i-1][0];off[i][1]=on[i-1][1];
  30. 30 tot[i][0]=tot[i-1][0]+(on[i][0]-off[i][0]),tot[i][1]=tot[i-1][1]+(on[i][1]-off[i][1]);
  31. 31 }
  32. 32 k=(m-(tot[n-1][0]*a))/tot[n-1][1];
  33. 33 printf("%d\n",tot[x][0]*a+tot[x][1]*k);
  34. 34 return 0;
  35. 35 }

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号