zoukankan      html  css  js  c++  java
  • Codeforces Round #627 (Div. 3) A

    题意 :

    有n个高度,可以使任一高度加二任意次,问最终n个高度可否相同。

    思路:

    因为添加的2x1的方块不可旋转,只需考虑所有高度是否为同一奇偶性即可。

    #include <bits/stdc++.h>
    using namespace std;
     
    void solve(){
        int n;cin>>n;
        int a[n],sum=0;
     
        for(int i=0;i<n;i++) cin>>a[i];
        for(int i=0;i<n;i++) sum+=a[i]&1;
        
        if(sum==0||sum==n)cout<<"YES
    ";
        else cout<<"NO
    ";
    }
     
    int main(){
        int t;cin>>t;
        while(t--)
            solve();
        return 0;
    }

    拓展:

    若可以旋转,原数组奇为1,偶为0,看是否同奇偶或0两两相邻即可。

    #include <bits/stdc++.h>
    using namespace std;
     
    void solve(){
        int n;cin>>n;
        int a[n];
        for(int i=0;i<n;i++) cin>>a[i];
        for(int i=0;i<n;i++) a[i]&=1;
        
        int sum=accumulate(a,a+n,0);
        if(sum==0||sum==n){
            cout<<"YES
    ";
            return;
        }
        for(int i=0;i<n-1;i++){
            if(a[i]==0){
                if(a[i+1]==1){
                    cout<<"NO
    ";
                    return;
                }
                i++;
            }
        }
        cout<<"YES
    ";
    }
     
    int main(){
        int t;cin>>t;
        while(t--)
            solve();
        return 0;
    }
  • 相关阅读:
    jq 的简单循环
    简单的下拉菜单
    jQ事件
    图片移动
    选中效果
    js 时间
    简单的密码验证
    DOM 的简介 和一些方法
    Java编程思想笔记
    Java并发笔记(二)
  • 原文地址:https://www.cnblogs.com/Kanoon/p/12483910.html
Copyright © 2011-2022 走看看