zoukankan      html  css  js  c++  java
  • Codeforces Round #635 (Div. 2)

    题目链接:http://codeforces.com/contest/1337

    A

    思路:直接输出bcc就好了,肯定可以组成三角

    //-------------------------------------------------
    //Created by HanJinyu
    //Created Time :四  4/16 14:56:51 2020
    //File Name :635A.cpp
    //-------------------------------------------------
    
    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <list>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    typedef double db;
    typedef long long ll;
    const int maxn = 200005;
    int main()
    {
        //freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
        int t;
        scanf("%d",&t);
        while(t--)
        {
     
            int a,b,c,d;
            scanf("%d%d%d%d",&a,&b,&c,&d);
            printf("%d %d %d
    ",b,c,c);
     
        }
     
         return 0;
    }
    View Code

    B

    思路:优先取x/2+10的,直到生命值上升或者用完次数为止,再用x-10的

    //-------------------------------------------------
    //Created by HanJinyu
    //Created Time :四  4/16 21:25:29 2020
    //File Name :635B2.cpp
    //-------------------------------------------------
    
    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <list>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    typedef double db;
    typedef long long ll;
    const int maxn = 200005;
    
    int main()
    {
        //freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
        int T;
        scanf("%d",&T);
        while(T--)
        {  
            int x;
            int n,m;
            scanf("%d%d%d",&x,&n,&m);
            for(int i=0;i<n;i++)
            {
                if(x/2+10<x)
                    x=(x*0.5)+10;
                else
                    break;
            }      
            // cout<<x<<endl;
            if(x<=m*10)printf("YES
    ");
            else printf("NO
    ");
        }
     
         return 0;
    }
    View Code

    C

    思路:建一棵树,以1为根,扫描每个节点,记录深度,当该节点被选中,那么子节点肯定被选中,因为其深度更大,那么子节点就要-1,那么记录每个节点的深度-子节点个数就行,排序后将前k大小的累计即可

    //-------------------------------------------------
    //Created by HanJinyu
    //Created Time :五  4/17 11:10:56 2020
    //File Name :vectortree.cpp
    //-------------------------------------------------
    
    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <list>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    typedef double db;
    typedef long long ll;
    const int maxn = 200005;
    vector<int>G[maxn],v;
    
    int dfs(int u,int p,int dept)
    {
        int sum=1;
        for(int t:G[u])
        {
            if(t!=p)
            {
                //cout<<t<<" ";
                sum+=dfs(t,u,dept+1);
               // cout<<"sum= "<<sum<<endl;
            }
        }
        v.push_back(dept-sum+1);
       // cout<<"end= "<<v.back()<<endl;
        return sum;
    }
    int main(){
        int T,k;
        scanf("%d%d",&T,&k);
        int u,vv;
        for(int i=0;i<T-1;i++)
        {
            scanf("%d%d",&u,&vv);
            G[u].push_back(vv);
            G[vv].push_back(u);
        }
        dfs(1,0,0);
        ll summ=0;
        //cout<<"v:";
    
        //for(int i=0;i<v.size();i++)
          //  cout<<v[i]<<" ";
        //cout<<endl;
        sort(v.rbegin(),v.rend());
    
        for(int i=0;i<k;i++)
            summ+=v[i];
        printf("%lld
    ",summ);
        return 0;
    }
    View Code
  • 相关阅读:
    任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0。
    【每天一个Linux命令】14. Linux中locate命令的用法
    ZetCode PyQt4 tutorial signals and slots
    ZetCode PyQt4 tutorial layout management
    ZetCode PyQt4 tutorial work with menus, toolbars, a statusbar, and a main application window
    ZetCode PyQt4 tutorial First programs
    A Simple Makefile Tutorial
    Swapping eth0 and eth1 on OK335xS board
    OK335xS U-boot 环境变量解析
    OK335xS U-boot GPIO control hacking
  • 原文地址:https://www.cnblogs.com/Vampire6/p/12740583.html
Copyright © 2011-2022 走看看