题解 -- 儿童节继续欢乐赛

 

 

共五题 :A B C D E

A. NKOJ 5752 翻转数列

 

考点:观察

key:An与B1相对应  An-1与B2相对应……

附代码:

#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
int b[200005],a[200005];
int main() {
    ios::sync_with_stdio(false);
    int n,d,c,po;
    cin>>n;
    cin>>d;
    b[1]=d;
    for(int i=2; i<=n; i++) {
        cin>>b[i];
    }
    if(n%2==0) {
        po=0;
        for(int i=n/2; i>=0; i--) {
            a[i]=b[po+2];
            po+=2;

        }
        po=0;
        for(int i=n/2+1; i<=n; i++) {
            a[i]=b[po+1];
            po+=2;
        }
    } else {
        a[n/2+1]=b[1];
        po=2;
        for(int i=n/2; i>=0; i--) {
            a[i]=b[po+1];
            po+=2;
        }
        po=0;
        for(int i=n/2+2; i<=n; i++) {
            a[i]=b[po+2];
            po+=2;
        }
    }
    for(int i=1; i<=n; i++)
        cout<<a[i]<<" ";
}

考试连这种水题都只得了七十分

这是一道emm...数学思维 水题 :)

每一个可以被四整除的数可以取消掉一个奇数

如果有被二整除的数也可以和另一个被二整除的数配对。

附代码:

#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
int n,x,cnt1,cnt2,cnt4;
int main(){
    ios::sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>x;
        if(x%4==0)cnt4++;
        if(x%2)cnt1++;
    }
    cnt2=n-cnt4-cnt1;
    if(cnt2)cnt1++;
    if(cnt4-cnt1<-1)cout<<"No";
    else cout<<"Yes";
}

 

 

 C

D

 

E

 

等待更新……

posted @ 2019-06-04 19:19  可口可啦  阅读(145)  评论(0编辑  收藏  举报