HZNU Personal Training 2

A - Minimal Square

 CodeForces - 1360A 

HZNU Personal Training 2

#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("%dn",r*r);
    }

    // system("pause");

    return 0;
}

View Code

B - Honest Coach

 CodeForces - 1360B 

HZNU Personal Training 2

#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("%dn",Min);
    }
    // system("pause");
    return 0;
}

View Code

C - Similar Pairs

 CodeForces - 1360C 

HZNU Personal Training 2

#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)复杂度

HZNU Personal Training 2

#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("%lldn",n/ans);

    }



    // system("pause");
    return 0;
}

View Code

 模拟

HZNU Personal Training 2

#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

变递归为循环

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

HZNU Personal Training 2

#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

 

原文链接: https://www.cnblogs.com/littlerita/p/13215736.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    HZNU Personal Training 2

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/360778

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午1:29
下一篇 2023年3月2日 下午1:30

相关推荐