zoukankan      html  css  js  c++  java
  • 比赛:ICPC Asia Taipei-Hsinchu Regional 2019 2020.4.1

     C. Are They All Integers?

    题意:是给定n个数字判断对任意的(a[j]-a[i])/a[k]一定要是整数。

    题解:

    一开始以为用枚举会超时不过还是试了下,没想到没超时,直接过了,题目很简单,简单枚举就好。

    #include<iostream>
    using namespace std;
    int main(){
        int n,a[1001],sum;
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                for(int k=0;k<n;k++){
                    if(i!=j&&i!=k&&j!=k){
                        sum=a[i]-a[j];
                        if(sum%a[k]!=0){
                              cout<<"no"<<endl;
                              return 0;
                        }
                    }
                }
            }
        }
        cout<<"yes"<<endl;
        return 0;
    }

     D. Tapioka

    题目意思:给3个字符串去掉其中所有的"bubble"和"tapioka"如果没有字符串了就输出nothing(签到题,比较简单)

    题解:

    根据题意做就好

    #include <iostream>
    #include<map>
    #include<fstream>
    using namespace std;
    int main()
    {
        int n,i,j,k=0;
        map<string,int>h;
        string s[3],a,b,c;
        for(i=0; i<3; i++)
        {
            cin>>s[i];
            if(s[i]=="bubble"||s[i]=="tapioka")
            {
                h[s[i]]=0;
            }
            else
            {
                h[s[i]]=1;
            }
        }
        for(i=0; i<3; i++)
        {
            if(h[s[i]]==1)
            {
                k=1;
                cout<<s[i]<<' ';
            }
        }
        if(k==0)
        {
            cout<<"nothing";
        }
    
        return 0;
    }

     K. Length of Bundle Rope

    题目意思:

    给定n个盒子用绳子把他们连起来,问最少需要多少的绳子,把多大的盒子连起来绳子大小就加上多少。

    题解:

    一开始想用dp,发现不用,就是把其中最小的两个盒子加起来,然后再判断,再把其中两个盒子加起来,直到n=2时,进行最后一个相加就好

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main(){
        int t,n,sum;
        int a[1001];
        cin>>t;
        while(t--){
            sum=0;
            cin>>n;
         for(int i=0;i<n;i++){
             cin>>a[i];
         }
         while(n>1){//如果有盒子可以相加,就继续循环
           sort(a,a+n);
           sum=sum+a[0]+a[1];//将2个最小的盒子加起来n该-1
           a[0]=a[0]+a[1];
           for(int i=1;i<n;i++){
               a[i]=a[i+1];
           }
           n--;//加起来后n-1
         }
         cout<<sum<<endl;
        }
        return 0;
    }
  • 相关阅读:
    MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐 级之间的区别?
    NOW()和 CURRENT_DATE()有什么区别?
    什么是非标准字符串类型?
    列的字符串类型可以是什么?
    实践中如何优化 MySQL ?
    可以使用多少列创建索引?
    数据库中的事务是什么?
    锁的优化策略?
    SQL 注入漏洞产生的原因?如何防止?
    强调事项段、其他事项段、关键审计事项
  • 原文地址:https://www.cnblogs.com/liyongqi/p/12616903.html
Copyright © 2011-2022 走看看