zoukankan      html  css  js  c++  java
  • HZNU Personal Training 2

    A - Minimal Square

     CodeForces - 1360A 

    #include<bits/stdc++.h>
    using namespace std;
    const int N=2e5+500;
    typedef long long ll;
    int main(){
        int t;scanf("%d",&t);
        while(t--){
            int r,a,b;
            scanf("%d %d",&a,&b);
            if(a>b)swap(a,b);
            if(2*a>b)r=2*a;
            else r=b;
            printf("%d
    ",r*r);
        }
    
        // system("pause");
    
        return 0;
    }
    View Code

    B - Honest Coach

     CodeForces - 1360B 

    #include<bits/stdc++.h>
    using namespace std;
    const int N=2e5+500;
    typedef long long ll;
    int a[20000];
    int main(){
        int t;scanf("%d",&t);
        while(t--){
            int n;
            scanf("%d",&n);
            for(int i=1;i<=n;i++)scanf("%d",&a[i]);
                sort(a+1,a+1+n);
             int Min=1e8;
             for(int i=2;i<=n;i++){
                Min=min(Min,a[i]-a[i-1]);
             }
             printf("%d
    ",Min);
        }
        // system("pause");
        return 0;
    }
    View Code

    C - Similar Pairs

     CodeForces - 1360C 

    #include<bits/stdc++.h>
    using namespace std;
    int a[2000];
    int main(){
        int t;scanf("%d",&t);
        while(t--){
            int n;scanf("%d",&n);
            int cntj=0,cnto=0;
            for(int i=1;i<=n;i++){
                scanf("%d",&a[i]);
                if(a[i]%2)cntj++;
                else cnto++;
            }
            if(cntj%2==0||cnto%2==0){
                puts("YES");
                continue;
            }
            sort(a+1,a+n+1);
            bool flag=0;
            for(int i=2;i<=n;i++){
                if(a[i]%2!=a[i-1]%2&&a[i]==a[i-1]+1){
                    flag=1;
                    break;
                }
            }
            if(flag)puts("YES");
            else puts("NO");
        }
    
        // system("pause");
        return 0;
    }
    View Code

    D - Buying Shovels

     CodeForces - 1360D 

    暴力枚举因数,sqrt(n)复杂度

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    // void get(ll x){
    
    // }
    int main(){
        int t;scanf("%d",&t);
        long long n,k;
        while(t--){
            scanf("%lld %lld",&n,&k);
            if(k>=n){cout<<1<<endl;continue;}
            ll ans=-1e12;
            for(ll i=1;i*i<=n;i++){
                if(n%i==0){
                    if(i<=k)ans=max(ans,i);
                    if((n/i)<=k)ans=max(ans,n/i);
                }
            }
    
            printf("%lld
    ",n/ans);
    
        }
    
    
    
        // system("pause");
        return 0;
    }
    View Code

     模拟

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int mt[100][100];
    int n;
    bool check1(){
        for(int i=1;i<=n;i++){
            for(int j=n-1;j>=1;j--){
                if(mt[i][j]==1&&mt[i][j+1]==0){
                    if(i==1&&mt[i+1][j]!=1)return 0;
                    else if(i!=1&&i!=n&&mt[i+1][j]!=1&&mt[i-1][j]!=1)return 0;
                }
            }
        }
        return 1;
    }
    bool check2(){
        for(int j=1;j<=n;j++){
            for(int i=n-1;i>=1;i--){
                if(mt[i][j]==1&&mt[i+1][j]==0){
                    // if(j==n&&mt[i][j-1]!=1)return 0;
                    if(j==1&&mt[i][j+1]!=1)return 0;
                    else if(j!=1&&j!=n&&mt[i][j+1]!=1&&mt[i][j+1]!=1)return 0;
                }
            }
        }
        return 1;
    }
    
    int main(){
        int t;scanf("%d",&t);
        while(t--){
            scanf("%d",&n);
            for(int i=1;i<=n;i++){
                for(int j=1;j<=n;j++){
                    scanf("%1d",&mt[i][j]);
                }
            }
            // if(!check1())cout<<1<<endl;
            // if(!check2())cout<<2<<endl;
    
            if(!check1()||!check2()){
                puts("NO");
                continue;
            }
            puts("YES");
    
        }
        // system("pause");
        return 0;
    }
    View Code

    F - Spy-string

     CodeForces - 1360F 

    直接dfs  TLE

    变递归为循环

    以第一个字符串为基准,暴力枚举每一位的情况

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    char s[200][200];
    char go[200];
    int n,m;
    bool check(){
        for(int i=1;i<=n;i++){
            int cnt=0;
            for(int j=1;j<=m;j++){
                if(s[i][j]!=go[j])cnt++;
            }
            if(cnt>1)return 0;
        }
        return 1;
    }
    int main(){
        int t;scanf("%d",&t);
        while(t--){
            scanf("%d %d",&n,&m);
            for(int i=1;i<=n;i++){
            scanf("%s",s[i]+1);
            }
            bool flag=0;
            for(int j=1;j<=m;j++){
                for(int i=0;i<26;i++){
                    // strcpy(go,s[1]);
                for(int k=1;k<=m;k++)go[k]=s[1][k];
                    go[j]=i+'a';
                    if(check()){flag=1;break;}
                }
                if(flag)break;
            }
    
            if(flag){
                for(int i=1;i<=m;i++)printf("%c",go[i]);
                    puts("");
            }
            else puts("-1");
        }
        // system("pause");
        return 0;
    }
    View Code
  • 相关阅读:
    Vscode 隐藏 工作区中的目录
    java 中 静态泛型方法书写
    Vscode 配置 maven debug
    vscode 配置 java utf-8 编码
    node.js 设置 淘宝 镜像
    vscode 注册表
    ESET Smart Security 6 – 免费60天(SG)
    WIN-8“内置管理员无法激活此应用”问题
    怎样更新PE内的工具
    使用Setup安装Windows8 RTM方法
  • 原文地址:https://www.cnblogs.com/littlerita/p/13215736.html
Copyright © 2011-2022 走看看