Benelux Algorithm Programming Contest 2019 (2020-3-21)

Posted a-specter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

 

 

 

以上是关于Benelux Algorithm Programming Contest 2019 (2020-3-21)的主要内容,如果未能解决你的问题,请参考以下文章

Benelux Algorithm Programming Contest 2019

Benelux Algorithm Programming Contest 2019 (2020-3-21)

Preliminaries for Benelux Algorithm Programming Contest 2019

2020.3.21 Benelux Algorithm Programming Contest 2019 解题报告

解题报告——Block Game(思维题)(Benelux Algorithm Programming Contest 2016 Preliminary)(计蒜客)

Preliminaries for Benelux Algorithm Programming Contest 2019: I. Inquiry I