共五题 :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]<<" "; }
B
考试连这种水题都只得了七十分
这是一道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
等待更新……