首页 > 编程语言 >洛谷SCP 2024 第一轮(初赛 J 组)模拟题解析(第三部分:完善程序(1-2))

洛谷SCP 2024 第一轮(初赛 J 组)模拟题解析(第三部分:完善程序(1-2))

时间:2024-08-25 13:24:31浏览次数:15  
标签:prime 洛谷 int 31 30 初赛 模拟题 const top

完善程序一(补全)

 #include <bits/stdc++.h>
 using namespace std;
 const int MAXN = 100000;
 int n;
 int vis[MAXN], a[MAXN];
 vector<int> ans;
 int check(int k) {
     int x = n, top = 0;
     for (int i = 0; i <= k; i++) vis[i] = 0;
     while ( x > 0  ) {
         a[++top] =  x % k   ;
         x = x / k;
     }
     if (top < 2)
     return 0;
     for (int i = 1; i <= top; i++) {
         if (vis[a[i]] == 1 )
         return 0;
         vis[a[i]] = 1;
     }
 return 1;
 }
 int main() {
     cin >> n;
     for (int i = 2; i <= n; i++) {
     if (check(i))
     ans.push_back(i);
     }
     if (ans.empty()) {
        cout << -1;
     }
     for (int i = 0; i < ans.size(); i++)
     cout << ans[i] << " ";
     return 0;
 }

完善程序二(补全)

  #include <bits/stdc++.h>
  using namespace std; 
  const int MAXW = 753005;
  const int days[13] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  int prime[MAXW], cnt;
  bool not_prime[MAXW];


  void linear_prime(int n) { 
          --n;
          not_prime[0] = not_prime[1] = true;
          for(int i = 2; i <= n; i++) {
                   if(not_prime[i] == false)
                           prime[++cnt]=i;
                   for(int j = 1; (j <= cnt) && (i * prime[j] <= n); j++) {
                            not_prime[i * prime[j]] = 1;
                            if(i % prime[j] == 0) 
				            break;
                   }
           }
  }
  bool check(int n) {
           return (n % 400 == 0 || (n % 4== 0 && n % 100 != 0));   
		   }

  int main() {
          linear_prime(MAXW);
           int x, y, z, w;
           cin >> x >>y >> z;
           if(y == 2)
                    w = check(x) ? 29 : 28;
          else
                   w = days[y];
           if(not_prime[x * y * (w - z + 1)])
                   cout << "unlucky" << endl;
          else
                  cout << "lucky" << endl;
           return 0; 
  }

标签:prime,洛谷,int,31,30,初赛,模拟题,const,top
From: https://blog.csdn.net/weixin_60445850/article/details/141474966

相关文章

  • 洛谷 P8615 [蓝桥杯 2014 国 C] 拼接平方数
    题面题目描述小明发现很有趣,首先,它是个平方数。它可以拆分为和,拆分出来的部分也是平方数。也有这个性质,我们权且称它们为:拼接平方数。可拆分,这有点勉强,我们规定,等都不算平方数。小明想:还有哪些数字是这样的呢?你的任务出现了:找到某个区间的所有拼接平方数。输入......
  • 历年CSP-J初赛真题解析 | 2015年CSP-J初赛阅读程序(23-26)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客#include<iostream>usingnamespacestd;intmain(){inta,b,c;a=1;b=2;c=3;if(a>b){......
  • 洛谷P2440 木材加工 题解
    这是我找到的一篇很久之前为了让我更好理解二分写的详细题解题目链接code:#include<bits/stdc++.h>#defineintlonglong#defineMAXN0x3f3f3f3f3f3f3f3f#defineMINN-0x3f3f3f3f3f3f3f3f#defineMiraiios::sync_with_stdio(0),cin.tie(0),cout.tie(0);usingnamespa......
  • 信息学奥赛初赛天天练-74-NOIP2016普及组-基础题5-树、父节点、根节点、叶子节点、非
    NOIP2016普及组基础题521从一个4×4的棋盘(不可旋转)中选取不在同一行也不在同一列上的两个方格,共有()种方法。22约定二叉树的根节点高度为1。一棵结点数为2016的二叉树最少有()个叶子结点;一棵结点数为2016的二叉树最小的高度值是()2相......
  • 洛谷P1605 迷宫
    原题题目描述给定一个方格的迷宫,迷宫里有处障碍,障碍处不可通过。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。输入格式第一行为三个正整数,分......
  • 将洛谷私信接入Windows
    首先下载一个私信Github:https://github.com/GCSG01/LG_Show_Massger/archive/refs/heads/main.zip然后解压,找到src/settings.json,把你的洛谷cookie和UID填进去,点击Start.cmd运行。(其余的不要改)之后不出意外就会有两个窗口:AI功能:下载仓库:https://github.com/OI-liyi......
  • 洛谷P10878 [JRKSJ R9] 在相思树下 III && 单调队列
    传送门:P10878[JRKSJR9]在相思树下III将军啊,早卸甲,他还在廿二,等你回家……一道练习单调队列的好题qwq题目意思:很明白了,不再复述。(注意$\foralli$表示对于任意的i,可理解为所有)思路:贪心是很明显的,因为我们要让最后的值最大,首先要把小的值删掉。最后的答案就是进......
  • P9145 [THUPC 2023 初赛] 世界杯
    [题目通道]([THUPC2023初赛]世界杯-洛谷)简要题意:输出五常中的最强球队。众所周知,每个国家的球队都有自己的长处,在不同规则下最强球队也有所不同。而小M制定的规则是输球场数最少,这是有道理的,因为输球场数可以评判一个球队的稳定性。输球场数越少,就说明稳定性越强,实力......
  • 信息学奥赛初赛天天练-72-NOIP2016普及组-基础题3-无向图、简单无向图、自环、平行边
    NOIP2016普及组基础题35以下不是存储设备的是()A光盘B磁盘C固态硬盘D鼠标6如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F......
  • 洛谷P1182 数列分段 Section II
    传送门:P1182数列分段SectionII消灭人类暴政,世界属于三体题目意思:题目说的很明白了思路:考虑部分分:20%的数据保证n<10,直接爆搜;40%的数据保证n<1000,n^2+前缀和搞定100%的数据:求每段最大和的最小值:明显的二分(n在10^5的范围也说明了这一点,因为二分查找的......