700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 第三届全国高校计算机能力挑战赛--程序设计大赛C++代码

第三届全国高校计算机能力挑战赛--程序设计大赛C++代码

时间:2022-04-09 10:34:03

相关推荐

第三届全国高校计算机能力挑战赛--程序设计大赛C++代码

决赛共有五题,难度不大。但比赛时时间较为紧张,第4题未完成。这些均为楼主自己写的代码,测试样例可以通过,但不一定能AC,仅供参考

第一题:

简单模拟

#include<bits/stdc++.h>using namespace std;bool judge(string s){if(s.size()<2)return true;int p=0;int q=s.size()-1;while(p<q){if(s[p]!=s[q])return false;p++;q--;}return true;}int main(){int L,R,k;cin>>L>>R>>k;//回文 模k要余2int count=0;for(int i=L;i<=R;i++){if(judge(to_string(i))){if(i%k==2)count++;}}cout<<count;}

第二题:

暴力解法

#include<bits/stdc++.h>using namespace std;long long int p(long long int i,long long int j){return i+j;}long long int m(long long int i,long long int j){return i-j;}long long int mul(long long int i,long long int j){return i*j;}long long int chu(long long int i,long long int j){return i*1.0/j;}int main(){long long int a,b,c,d;cin>>a>>b>>c>>d;set<double>Set;Set.insert(p(a,b)+p(c,d));Set.insert(m(a,b)+p(c,d));Set.insert(mul(a,b)+p(c,d));Set.insert(chu(a,b)+p(c,d));Set.insert(p(a,b)+m(c,d));Set.insert(m(a,b)+m(c,d));Set.insert(mul(a,b)+m(c,d));Set.insert(chu(a,b)+m(c,d));Set.insert(p(a,b)+mul(c,d));Set.insert(m(a,b)+mul(c,d));Set.insert(mul(a,b)+mul(c,d));Set.insert(chu(a,b)+mul(c,d));Set.insert(p(a,b)+chu(c,d));Set.insert(m(a,b)+chu(c,d));Set.insert(mul(a,b)+chu(c,d));Set.insert(chu(a,b)+chu(c,d));cout<<Set.size()<<endl;}

第三题:

#include<bits/stdc++.h>using namespace std;int main(){long long int L,N,M;//m表示柱子 cin>>L>>N>>M;vector<int>vec;for(int i=0;i<N;i++){int x;cin>>x;vec.push_back(x);}vector<int>arr;arr.push_back(vec[0]);arr.push_back(L-vec[N-1]);for(int i=0;i<N-1;i++){int x;x=vec[i+1]-vec[i];arr.push_back(x);}sort(arr.begin(),arr.end());for(int i=0;i<M;i++){arr[N]-=arr[N-1];sort(arr.begin(),arr.end());}cout<<arr[N]<<endl;//for(int i=0;i<arr.size();i++)//cout<<arr[i]<<endl; }

第五题:

简单模拟

#include<bits/stdc++.h>using namespace std;//3 6 3 3 5 1 4 1 3 4 5int fun(int a[],int sum,int l,int k,int f){int total=0;for(int i=1;i<=l;i++){if(a[i]==1){k=i;total+=i;}}total+=l;if(sum>total)return f;a[k]=0;fun(a,sum,l,k,f+1);} int main(){int n,l,v;cin>>n>>l>>v;//3 6 3int a[l+1];memset(a,0,sizeof(a));for(int i=0;i<n;i++){int x;cin>>x;a[x]=1;}int q;cin>>q;vector<int>vec;for(int i=0;i<q;i++){int y;cin>>y;vec.push_back(y);}for(int i=0;i<q;i++){if(v*vec[i]<l){cout<<"-1"<<endl;}else {int b[l+1];memset(b,0,sizeof(b));for(int i=0;i<=l;i++){if(a[i]==1)b[i]=1;}cout<<fun(b,v*vec[i],l,0,0)<<endl;}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。