2024牛客寒假算法基础集训营2题解(A,B)

【链接】:牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ

比赛时间:2024-02-05    13:00-18:00

赛制:ACM

前提:这两道是本小白比赛期间打出的,顺带复个盘,剩下的就是补题了o(╥﹏╥)o

2024牛客寒假算法基础集训营2题解(A,B)_第1张图片

 A.Tokitsukaze and Bracelet

思路:无脑题,只需要会基础的if else语句即可

#include

using namespace std;

int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n;cin>>n;
    while(n--){
        int a,b,c;cin>>a>>b>>c;
        int ans=0;
        if(a==150) ans++;
        else if(a==200) ans+=2;

        if(b==45) ans+=2;
        else if(b==34||b==36||b==38||b==40) ans++;
        
        if(c==45) ans+=2;
        else if(c==34||c==36||c==38||c==40) ans++;
        cout<

B.Tokitsukaze and Cats 

思路:一只猫在一个方块内,所对应的方块四周都应该有网围着,但要注意是否有多只猫所处位置相连

#include

using namespace std;
const int N=300+10;
int a[N][N];
int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,m,k;cin>>n>>m>>k;
    while(k--){
        int x,y;cin>>x>>y;
        a[x][y]=1;
    }
    int sum=0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(a[i][j]==1){
                if(a[i-1][j]==0) sum++;
                if(a[i+1][j]==0) sum++;
                if(a[i][j+1]==0) sum++;
                if(a[i][j-1]==0) sum++;
            }
            if(a[i][j]==1&&a[i][j+1]==1) sum++;
            if(a[i][j]==1&&a[i+1][j]==1) sum++;
        }
    }
    cout<

 复盘:这道题自己一开始的思路理解错了,以为是在它的周围铺东西,且手推样例一时是对的,但到样例二就变得很奇怪,后来仔细看了题目才发现理解错了,然后手推样例思路明确。

你可能感兴趣的:(题解,c++)