zoukankan      html  css  js  c++  java
  • Benelux Algorithm Programming Contest 2019 (2020-3-21)

    B. Breaking Branches

    解题思路:

      看了半天才看懂什么意思QWQ,就判断一下奇数还是偶数就行了。

    AC代码:

    
    
    #include<math.h>
    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include <string.h>
    using namespace std;
    int main()
    {
    
        int n;
        cin>>n;
        if(n%2==0){
            cout<<"Alice
    1
    ";//输出1 就完事
        }else{
            
            cout<<"Bob
    ";
              }
        return 0;
    }
    
    
    

    E. Efficient Exchange

    解题思路:

      (不会dp的废物QWQ)

      从最后一位开始算,

      大于5,进1,sum=10-这位,,

      小于5,sum直接加,,,

      等于5,判断它的前一位,大于5还是小于5,大于进1,小于直接加

    AC代码:

    
    
    #include<math.h>
    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include <string.h>
    using namespace std;
    int main(){
        string s1,s;
        s="00";
        cin>>s1;
        s=s+s1;
        int i,j,n,k=0,sum=0,len;
        len =s.length();
    
        for(i=len-1;i>=0;i--){
            if(s.at(i)<'5'){    //小于五
                sum+=s.at(i)-'0';
            }else if(s.at(i)>'5'){  //大于五
                sum+=10-(s.at(i)-'0');
                if(i==0){
                    sum++;
                    break;
                }
                n=i-1;
                while(1){
                    if(n==0){
                        k=1;
                         break;
                    }
                    s.at(n)++;
                    if(s.at(n)>'9'){
                        s.at(n)='0';
                        n--;
                    }else{
                        break;
                    }
                }
            }else{        //等于5
                    sum=sum+5;
                n=i-1;
                if(s.at(n)>='5'){
                  while(1){
                    if(n==0){
                        k=1;
                         break;
                    }
                    s.at(n)++;
                    if(s.at(n)>'9'){
                        s.at(n)='0';
                        n--;
                    }else{
                        break;
                    }
                }
                }
            }
        }
        cout<<sum<<endl;
        return 0;
    }
    
    
    
    J. Jazz it Up!
    解题思路:
      给定一个数n,求一个比它小的数m,使m*n不含k^2这种因子

    AC代码:
    #include<math.h>
    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include <string.h>
    using namespace std;
    int main()
    {
    
        int n,i,j,m,k;
        cin>>n;
    for(i=2;i<n;i++){
            for(j=2;j<=sqrt(n*i);j++){
                k=(n*i)/(j*j);  
                if(k*j*j == n*i){//判断能不能整除
                    break;
                }
            }
            if(j>sqrt(n*i)){
                cout<<i;
                return 0;
            }
        }
        return 0;
    }
     
  • 相关阅读:
    LeetCode 127. Word Ladder 单词接龙(C++/Java)
    LeetCode 681. Next Closest Time 最近时刻 / LintCode 862. 下一个最近的时间 (C++/Java)
    LeetCode 682. Baseball Game 棒球比赛(C++/Java)
    LeetCode 218. The Skyline Problem 天际线问题(C++/Java)
    小数据池,编码
    字典
    列表
    常见的数据类型
    while循环
    初始python
  • 原文地址:https://www.cnblogs.com/a-specter/p/12560612.html
Copyright © 2011-2022 走看看