当前位置:   article > 正文

牛客小白月赛59-C-输出练习

牛客小白月赛59-C-输出练习

这道题是经典的算法对,但忽略特判,导致一直WA过不去的情况

对于一直过不去的情况,就得考虑是不是特判出了问题

这道题的特判还挺多挺复杂

我们这里依据k来进行特判

1.k = 0

        (1) l >= 2 那就是None.

        (2)l == 1 那就是1

        (3)l == 0 这里还得分类讨论r

                (1)r == 0 那就是0

                (2) r >= 1  那就是1

2.k = 1

        (1) l >= 2 那就是None.

        (2)l == 1 那就是1

        (3)l == 0 这里还得分类讨论r

                (1)r == 0 这里就成了None.

                (2)r >= 1 这里是1

后面的就正常做

还挺复杂,讨论点挺多,有点搞,不过学到了,一直卡着但感觉算法没问题的情况,多半是被特例卡住了

  1. // Problem: 游戏购买!
  2. // Contest: NowCoder
  3. // URL: https://ac.nowcoder.com/acm/contest/45670/D
  4. // Memory Limit: 1048576 MB
  5. // Time Limit: 10000 ms
  6. // Date: 2024-03-15 09:09:22
  7. //
  8. // Powered by CP Editor (https://cpeditor.org)
  9. #include<bits/stdc++.h>
  10. #define endl '\n'
  11. #define int int64_t
  12. using namespace std;
  13. void solve() {
  14. int l, r, k; cin >> l >> r >> k;
  15. //有几个特殊情况得特判
  16. if (k == 0) {
  17. if (l >= 2) cout << "None.\n";
  18. else if (l == 1) cout << 1 << endl;
  19. else {
  20. //l == 0
  21. if(r) cout << "0 1\n";
  22. else cout << "0\n";
  23. }
  24. return;
  25. }
  26. if (k == 1) {
  27. if (l >= 2) cout << "None.\n";
  28. else if (l == 1) cout << 1 << endl;
  29. else {
  30. if (r) cout << 1 << endl;
  31. else cout << "None.\n";
  32. }
  33. return;
  34. }
  35. //k >= 2
  36. int t = k;
  37. set<int>st;
  38. if (l <= 1 && 1 <= r)st.insert(1);
  39. while (true) {
  40. if (l <= k && k <= r)st.insert(k);
  41. if (k > (r / t)) break;
  42. k *= t;
  43. //cout <<"k = " << k << endl;
  44. }
  45. if (st.size()) {
  46. for (auto it : st)
  47. cout << it << " ";
  48. cout << endl;
  49. }
  50. else
  51. cout << "None.\n";
  52. }
  53. signed main() {
  54. ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  55. int t = 1;
  56. cin >> t;
  57. while (t--) {
  58. solve();
  59. }
  60. return 0;
  61. }

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

闽ICP备14008679号