zoukankan      html  css  js  c++  java
  • 计蒜客信息学3月普及组模拟赛

    A. 断幺九 题目链接

    • 分值:100
    • 时间限制:1000ms
    • 测试点数目:10

    B. 锈湖  题目链接

    • 分值:100
    • 时间限制:2000ms
    • 测试点数目:10

    C. 图    题目链接

    • 分值:100
    • 时间限制:1000ms
    • 测试点数目:10

    D. 体育课  题目链接

    • 分值:100
    • 时间限制:1000ms
    • 测试点数目:20


     下面步入正题

    A. 断幺九

    解题思路:

      这个题其实困难在于读题,总结一下就是只要这14行没有一筒(Ipin)、九筒(Chupin)、一索(Isou)、九索(Chusou)、一万(Iwan)、九万(Chuwan)、东(Ton)、南(Nan)、西(Sha)、北(Pei)、白(Haku)、发(Hatsu)、中(Chun),那么这副牌就是断幺九牌。换句话说,只要有一个上述牌,它就不是断幺九牌。代码编辑难度是很简单的。

     1 #include<iostream>
     2 using namespace std;
     3 string s;
     4 int main(){
     5     for(int i=1;i<=14;i++){
     6         cin>>s;
     7         if(s=="Ipin"||s=="Chupin"||s=="Isou"||s=="Chusou"||s=="Iwan"||s=="Chuwan"||s=="Ton"||s=="Nan"||s=="Sha"||s=="Pei"||s=="Haku"||s=="Hatsu"||s=="Chun")
     8         {
     9             cout<<"Gong Fu Zai Gao,Ye Pa Duan Yao";
    10             return 0;
    11         }
    12     }
    13     cout<<"Rong,Duan Yao Jiu,1000 Dian";
    14     return 0;
    15 }
    AC代码

    B.锈湖

     

    解题思路:

    1. 枚举所选的两把钥匙,计算他们的最大公约数。可以通过暴力枚举求两个数的最大公约数。  时间复杂度 O(amaxn2 ),其中 amax 指最大的 ai

    2. 枚举所选的两把钥匙,计算他们的最大公约数(欧几里得算法)。 时间复杂度 O(n2 log n)。

    3. 设 m 为最大的 ai。最后的答案一定是那两把钥匙的约数。那么对每个 ai,将其约数全部扔到一个桶里,如果一个数出现两次,那么可以成为答案。时间复杂度 O(n√m)。

    4. 正解:考虑每个x 能成为答案,当且仅当他的倍数在钥匙中出现了两次以上。对于每个x 枚举它的倍数并计数就可判断了。时间复杂度 O(n log n)。
     1 #include <cstdio>
     2 #include <algorithm>
     3 #include<iostream>
     4 using namespace std;
     5 int vis[5000000],num[5000000];
     6 int main() {
     7     int n, in, mmax = 0;
     8     scanf("%d", &n);
     9     for (int i = 1; i <= n; ++i) {
    10         scanf("%d", &in);
    11         ++vis[in];
    12         mmax = max(mmax, in);
    13     }
    14     for (int i = 1; i <= mmax; ++i)
    15         for (int j = i; j <= mmax; j += i)
    16             num[i] += vis[j];
    17     for(int i=mmax;i>=1;i--) if(num[i]>=2){
    18         cout<<i<<endl;
    19         return 0;
    20     }
    21 }
    AC代码

    如果不懂,强烈推荐大家看我的另一篇博客:洛谷 P1414 又是毕业季II

    至于C、D两题:

    本蒟蒻也不会啊,只能先附上题解:2019年3月普及组模拟赛题解三、四题

     

  • 相关阅读:
    用X++读取文本文件(txt文件)的例子
    找出整个AX系统使用某个扩展类型的所有表和字段
    关于代码操作AOT
    检查所有表Relations是否为unknown
    strSplit分隔文本以container返回
    POJ 1850, Code
    用匈牙利算法求二分图的最大匹配(转载)
    POJ 2533, Longest Ordered Subsequence
    POJ 1159, Palindrome
    POJ 3252, Round Numbers
  • 原文地址:https://www.cnblogs.com/yinyuqin/p/10584524.html
Copyright © 2011-2022 走看看