zoukankan      html  css  js  c++  java
  • 2020年4月12日个人赛

    1.B题:

    思路很简单,先将所有的数存在一个数组里,再对数组进行一次遍历,遇到奇数ji++,偶数ou++,如果ji==ou,就把此时需要花费的比特币存入一个新的数组,最后对这个数组排一次序,从小到大遍历排序后的数组,每次sum++,直到b<0为止输出此时的sum。

    代码:

    #include<bits//stdc++.h>
    using namespace std;
    int main()
    {
    int i,j,k=0,n,m,ji,ou;
    int c[200];
    ji=0;
    ou=0;
    int sum=0;
    int b;
    cin>>n>>b;
    int a[200];
    for(i=0;i<n;i++)
    {
    cin>>a[i];
    }
    for(i=0;i<n-1;i++)
    {

    if(a[i]&1)
    {
    ji++;
    }
    else
    {
    ou++;
    }
    if(ji==ou)
    {
    ji=0;
    ou=0;

    c[k]=abs(a[i+1]-a[i]);
    k++;
    }
    }
    sort(c,c+k);
    for(i=0;i<k;i++)
    {
    if(b>=c[i])
    {
    b-=c[i];
    sum++;
    }
    else
    {
    break;
    }
    }
    cout<<sum;
    return 0;
    }

    2.C题:

    思路:看完题解表示不懂,举了个例子勉强明白了。先定义一个string类的变量s,s[0]=‘1’,之后再把字符串存入s(从s【1】开始),然后从s【1】开始遍历整个s,遇到前为1后为0则num++,最后的num指的是被1所分割的0的部分的数量,最后分两种情况输出,如果x<y,此时可将num看作是需要将字串进行翻转的次数,反之,则可以将num看作是需要将字串取反的次数,相等的话两种情况都可以,最后一定要注意输出结果是long long 类型。

    代码如下:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    char s[300000+8];
    int main()
    {
    int n,i,j,k,x,y;

    scanf("%d%d%d",&n,&x,&y);
    s[0]='1';
    scanf("%s",s+1);
    int num=0;

    for(i=1;i<=n;i++)
    {
    if(s[i]=='0'&&s[i-1]=='1')
    {
    num++;
    }
    }
    if(num==0)
    {
    cout<<0;
    }
    else
    printf("%lld",((ll)(num-1)*min(x,y)+y));
    return 0;
    }

    3.E题:

    这个还是邹师哥所说的那个结论,就是要想将一个数分成两个数并使这两个数的乘积最大,就要使这两个数尽量相等。看完题解的超短代码,无语。。。。。。。

    思路:要想使两个数尽量相等,就要使0和1间隔输出,所以输入只需要一个n就行了,其他的都没有用。。。。。。。。

    代码如下:

    #include<bits/stdc++.h>

    using namespace std;

    int main()

    {

        int n,i;

        cin>>n;

        for(i=0;i<n;i++)

        {

            if(i&1)

            {

                cout<<0;

            }

            else

            {

                cout<<1;

            }

        }

        return 0;

    }

  • 相关阅读:
    PAT 解题报告 1009. Product of Polynomials (25)
    PAT 解题报告 1007. Maximum Subsequence Sum (25)
    PAT 解题报告 1003. Emergency (25)
    PAT 解题报告 1004. Counting Leaves (30)
    【转】DataSource高级应用
    tomcat下jndi配置
    java中DriverManager跟DataSource获取getConnection有什么不同?
    理解JDBC和JNDI
    JDBC
    Dive into python 实例学python (2) —— 自省,apihelper
  • 原文地址:https://www.cnblogs.com/chengxvzhishen/p/12691890.html
Copyright © 2011-2022 走看看