当前位置:   article > 正文

AcWing 4402.刷题统计(模拟)

AcWing 4402.刷题统计(模拟)

一:暴力,写的过于麻烦了,第一次想,有些细节不够周到,在洛谷能过全部数据点,但这个代码在ACwing是过不了的

  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. long long a,b,n;
  5. int main()
  6. {
  7. scanf("%lld%lld%lld",&a,&b,&n);
  8. long long arr[8];
  9. for(long long i = 1; i<=5;i++){
  10. arr[i] = a;
  11. }
  12. arr[0]=b;
  13. arr[6]=b;
  14. long long t=1;
  15. long long summ=0;
  16. while(summ<n){
  17. summ += arr[t%7];
  18. t++;
  19. }
  20. printf("%lld",t-1);
  21. return 0;
  22. }

结果:

二:ACWing的AC代码

  1. //while型判断最后的天数
  2. #include<iostream>
  3. #include<cstdio>
  4. using namespace std;
  5. int main()
  6. {
  7. long long a,b,n;
  8. scanf("%lld%lld%lld",&a,&b,&n);
  9. long long s = 5*a + 2*b;//一周的总天数
  10. long long t = n / s * 7;//整数个周*7得到天数
  11. long long d = n % s;//得到的d一定小于s
  12. long long arr[8] = {a,a,a,a,a,b,b};
  13. // for(int i = 0; i <7; i ++) cout<<arr[i]<<endl;
  14. long long summ = 0;
  15. long long i = 0;
  16. while(summ < d){
  17. //printf("$%lld\n",arr[0]);
  18. summ = summ + arr[i];
  19. // printf("$%lld\n",arr[0]);
  20. summ = summ + arr[i];
  21. // printf("$%lld\n",summ);
  22. t++;
  23. i++;
  24. //printf("***%d",tt);
  25. }
  26. printf("%lld",t);
  27. return 0;
  28. }
  1. //for型循环判断最后的天数
  2. #include<iostream>
  3. using namespace std;
  4. int main()
  5. {
  6. long long int a, b, n;
  7. cin >> a >> b >> n;
  8. long long arr[7] = {a,a,a,a,a,b,b};
  9. long long s = 5*a + 2*b;//一周的总天数
  10. long long t = n / s;//整数个周
  11. long long res = t * 7;
  12. long long d = n % s;//余下的天数
  13. for(int i = 0; d > 0; i++){
  14. d = d - arr[i];//不用再取余数了,因为肯定不满一周的时间
  15. res++;
  16. }
  17. printf("%lld",res);
  18. return 0;
  19. }

结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/496802
推荐阅读
相关标签
  

闽ICP备14008679号