美文网首页
2019pat春季

2019pat春季

作者: 恰似一碗咸鱼粥 | 来源:发表于2019-03-02 23:52 被阅读0次

    大美数

    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    
    int main() {
        int N,input;
        cin>>N;
        for(int i=0;i<N;++i){
            bool flag=false;
            vector<int> save;
            cin>>input;
            for(int j=1;j<=input;++j){
                if(input%j==0){
                    save.push_back(j);
                }
            }
            if(save.size()<4)cout<<"No"<<endl;
            else{
                for(int j=0;j<save.size()&&!flag;++j){
                    for(int k=j+1;k<save.size()&&!flag;++k)
                        for(int m=k+1;m<save.size()&&!flag;++m)
                            for(int t=m+1;t<save.size()&&!flag;++t){
                                if((save[j]+save[k]+save[m]+save[t])%input==0){
                                        cout<<"Yes"<<endl;
                                        flag=true;
                                }
                            }
                }
                if(!flag)
                    cout<<"No"<<endl;
            }
        }
        return 0;
    }
    

    矩阵行平移

    #include <iostream>
    using namespace std;
    
    
    int main() {
        int n,k,x;
        int ans[110],cnt=0;
        cin>>n>>k>>x;
        int p=0;
        int line[200][200];
        for(int i=0;i<n;++i){
            if(i%2!=0){
                for(int j=0;j<n;++j){
                cin>>line[i][j];
                }
            }else{
                p=p%k+1;
                for(int j=p;j<p+n;++j){
                    cin>>line[i][j];
                }
                for(int j=0;j<p;++j)line[i][j]=x;
            }
            
        }
        for(int i=0;i<n;++i){
            int sum=0;
            for(int j=0;j<n;++j){
                sum+=line[j][i];
            }
            ans[cnt++]=sum;
        }
        for(int i=0;i<cnt;++i){
            if(i==0)cout<<ans[i];
            else cout<<" "<<ans[i];
        }
        return 0;
    }
    

    岩洞施工

    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    
    int main() {
        int N,min_num=1000,max_num=0,temp;
        cin>>N;
        for(int i=0;i<N;++i){
            cin>>temp;
            min_num=min(min_num,temp);
        }
        for(int i=0;i<N;++i){
            cin>>temp;
            max_num=max(max_num,temp);
        }
        if((min_num-max_num)<=0)cout<<"No "<<1-min_num+max_num<<endl;
        else cout<<"Yes "<<min_num-max_num<<endl;
        return 0;
    }
    

    性感素数

    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    bool is_prime(int x){
        if(x<=1)return false;
        for(int i=2;i*i<=x;++i){
            if(x%i==0)return false;
        }
        return true;
    }
    
    int main() {
        int N;
        cin>>N;
        bool ans_s=is_prime(N-6);
        bool ans_b=is_prime(N+6);
        if(is_prime(N)&&(ans_s||ans_b)){
            cout<<"Yes"<<endl;
            if(ans_s)cout<<N-6;
            else cout<<N+6;
        }else{
            for(int i=N+1;;++i){
                ans_s=is_prime(i-6);
                ans_b=is_prime(i+6);
                if(is_prime(i)&&(ans_s||ans_b)){
                    cout<<"No"<<endl;
                    cout<<i;
                    return 0;
                }
            }
        }
        return 0;
    }
    

    校庆

    #include <iostream>
    #include <string>
    #include <map>
    #include <algorithm>
    using namespace std;
    
    string cmp(string a,string b){
        if(a=="")
            return b;
        for(int i=6;i<=14;++i){
            if(a[i]>b[i]) return b;
            else if(b[i]>a[i]) return a;
        }
        return b;
    }
    
    int main() {
        int N,M,cnt=0;
        string old1="",old2="";
        map<string,bool> people; 
        string temp;
        cin>>N;
        for(int i=0;i<N;++i){
            cin>>temp;
            people[temp]=true;
        }
        cin>>M;
        for(int i=0;i<M;++i){
            cin>>temp;
            if(people[temp]){
                old2=cmp(old2,temp);
                cnt++;  
            }
            old1=cmp(old1,temp);
        }
        if(cnt){
            cout<<cnt<<endl<<old2;
        }else{
            cout<<cnt<<endl<<old1;
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:2019pat春季

          本文链接:https://www.haomeiwen.com/subject/qryuuqtx.html