日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“华为杯”中国矿业大学程序设计学科竞赛

發布時間:2024/10/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “华为杯”中国矿业大学程序设计学科竞赛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Problem A?細胞分裂

https://ac.nowcoder.com/acm/contest/948/A

題意:

題解:

C++版本一

#include<bits/stdc++.h> using namespace std; #define PB push_back #define LL long long #define FI first #define SE second #define POP pop_back() #define PII pair<int,int> #define PCC pair<char,char> #define PDD pair<double,double> #define PSI pair<string,int> #define endl '\n' #define ls x<<1 #define rs x<<1|1 #define m(x) a[x].l+a[x].r>>1 const int N=1e5+7; const int INF=1e6,mod=1e9+7; int n,m1,m2; int a[N]; vector<int>p; vector<PII>v; int main() {for(int i=2;i<=30000;i++){if(!a[i]){p.PB(i);for(int j=i*2;j<=30000;j+=i){a[j]=1;}}}cin>>n;cin>>m1>>m2;if(m1==1){cout<<0<<endl;return 0;}for(int i=0;i<p.size();i++){if(p[i]>m1)break;if(m1%p[i]==0){int cnt=0;while(m1%p[i]==0){cnt++;m1/=p[i];}v.PB(PII(p[i],cnt*m2));}}int ans=INF;int x;for(int i=1;i<=n;i++){int num=0;scanf("%d",&x);for(int j=0;j<v.size();j++){if(x%v[j].FI){num=INF;break;}int cnt=0;while(x%v[j].FI==0){cnt++;x/=v[j].FI;}num=max(num,v[j].SE/cnt+(v[j].SE%cnt!=0));}ans=min(ans,num);}if(ans==INF)cout<<-1<<endl;else cout<<ans<<endl;return 0; }

Problem B?A題

https://ac.nowcoder.com/acm/contest/948/B

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=1000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; int a[N],b[N],vis[N]; char str; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);while(~scanf("%d%d",&n,&m)){for(int i=1;i<=n;i++)vis[i]=0;for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)scanf("%d",&b[i]);queue<int>q;q.push(1);vis[1]=1;while(!q.empty()&&!vis[m]){int u=q.front();q.pop();if(a[u])for(int i=u+1;i<=n;i++)if(a[i]&&!vis[i])vis[i]=1,q.push(i);if(b[u])for(int i=1;i<u;i++)if(b[i]&&!vis[i])vis[i]=1,q.push(i);}cout<<(vis[m]?"YES":"NO")<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem C?均分糖果

https://ac.nowcoder.com/acm/contest/948/C

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; int a[N]; char str; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);while(~scanf("%d",&n)){sum=0;for(int i=1;i<=n;i++)scanf("%d",&a[i]),sum+=a[i];flag=sum/n;ans=0;temp=0;for(int i=1,j=n;i<=j;i++,j--){if(a[i]!=flag){ans++;a[i+1]+=a[i]-flag;}if(a[j]!=flag){ans++;a[j-1]+=a[j]-flag;}}cout<<ans<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem D?B題

https://ac.nowcoder.com/acm/contest/948/D

題意:

題解:

C++版本一

#include<bits/stdc++.h> using namespace std; #define PB push_back #define LL long long #define FI first #define SE second #define POP pop_back() #define PII pair<int,int> #define PCC pair<char,char> #define PDD pair<double,double> #define PSI pair<string,int> #define endl '\n' #define ls x<<1 #define rs x<<1|1 #define m(x) a[x].l+a[x].r>>1 const int N=1e5+7; const int INF=1e6,mod=1e9+7; int n; vector<int>v[101]; int a[101][101]; int s[101]; int ans; void dfs(int x,int y,int z){//cout<<x<<' '<<y<<endl;s[x]=1;if(z==n-1){ans=y+a[x][1];return;}if(s[v[x][0]]==0){dfs(v[x][0],y+a[x][v[x][0]],z+1);}else{dfs(v[x][1],y+a[x][v[x][1]],z+1);}} int main() {while(cin>>n){memset(s,0,sizeof(s));memset(a,0,sizeof(a));for(int i=1;i<=n;i++)v[i].clear();int x,y,z;int ss=0;for(int i=1;i<=n;i++){scanf("%d%d%d",&x,&y,&z);v[x].PB(y),v[y].PB(x);a[y][x]=z;ss+=z;}s[1]=1;if(a[1][v[1][0]]==0)dfs(v[1][0],0,1);else dfs(v[1][0],a[1][v[1][0]],1);//cout<<ss<<' '<<ans<<endl;cout<<min(ans,ss-ans)<<endl;}return 0; }

Problem E?很簡單的題。。。。。。

https://ac.nowcoder.com/acm/contest/948/E

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; int a[N]; char str; struct node{}; int check(int x){int res=0;while(x){res+=(x%10==2);x/=10;}return res; } int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);for(int i=1;i<=10000;i++)a[i]=a[i-1]+check(i);while(~scanf("%d%d",&l,&r)){printf("%d\n",a[r]-a[l-1]);}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem F?最大公約數和最小公倍數問題

https://ac.nowcoder.com/acm/contest/948/F

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=1000000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; int prime[N],pre[N],f[N]; char str; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);prime[0]=prime[1]=1;for(int i=2;i<N;i++){if(!prime[i]){pre[++cnt]=i;f[i]=1;}for(int j=1;j<=cnt&&i*pre[j]<N;j++){prime[i*pre[j]]=1;f[i*pre[j]]=f[i]+1;if(i%pre[j]==0){f[i*pre[j]]=f[i];break;}}//ans=max(ans,f[i]);}//cout<<ans<<endl;while(~scanf("%d%d",&n,&m)){cout<<(m%n?0:pow(2,f[m/n]))<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem G?畢業生的紀念禮物

https://ac.nowcoder.com/acm/contest/948/G

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,num; int a[N],b[3],c[N]; char str; struct node{}; priority_queue<int> q; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);while(~scanf("%d",&n)){for(int i=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+n+1);num=0;for(int i=1;i<=n;i++){if(a[i]!=a[i-1]) c[++num]=1;else c[num]++;}for(int i=1;i<=num;i++) q.push(c[i]);while(q.size()>=3){for(int i=0;i<3;i++){b[i]=q.top();q.pop();}ans++;for(int i=0;i<3;i++){if(--b[i])q.push(b[i]);}}printf("%d\n",ans);}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem H?畢業生的序列游戲

https://ac.nowcoder.com/acm/contest/948/H

題意:

題解:

C++版本一

#include<bits/stdc++.h> using namespace std; #define PB push_back #define LL long long #define FI first #define SE second #define POP pop_back() #define PII pair<int,int> #define PCC pair<char,char> #define PDD pair<double,double> #define PSI pair<string,int> #define endl '\n' #define ls x<<1 #define rs x<<1|1 #define m(x) a[x].l+a[x].r>>1 const int N=1e5+7; const int INF=1e6,mod=1e9+7; LL k,a,b,s; LL POW(LL x,LL y){LL re=1;while(y){if(y&1)re=re*x%mod;x=x*x%mod;y>>=1;}return re; } LL f[2002][2002]; int main() {cin>>k>>a>>b;s=POW(a+b,mod-2);f[1][0]=1;LL ans=0;for(int i=1;i<=k;i++){for(int j=0;j<=k;j++){if(i+j>=k){ans=(ans+f[i][j]*(i+j+a*POW(b,mod-2)%mod)%mod)%mod;}else{f[i+1][j]=(f[i+1][j]+f[i][j]*a%mod*s%mod)%mod;f[i][j+i]=(f[i][j+i]+f[i][j]*b%mod*s%mod)%mod;}}}cout<<ans<<endl;return 0; }

Problem I?你的糞坑v1

https://ac.nowcoder.com/acm/contest/948/I

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; string A,B,X1,X2; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);scanf("%d",&t);while(t--){cin>>A>>X1;cin>>B>>X2;if(X1==X2){cout<<"yi qi chi shi."<<endl;}else if((X1=="jiandao"&&X2=="bu")||(X1=="shitou"&&X2=="jiandao")||(X1=="bu"&&X2=="shitou")){cout<<B<<" chishi."<<endl;}else{cout<<A<<" chishi."<<endl;}}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem J?你的糞坑v2

https://ac.nowcoder.com/acm/contest/948/J

題意:

題解:

C++版本一

#include<bits/stdc++.h> using namespace std; #define PB push_back #define LL long long #define FI first #define SE second #define POP pop_back() #define PII pair<LL,LL> #define PCC pair<char,char> #define PDD pair<double,double> #define PSI pair<string,int> #define endl '\n' #define ls x<<1 #define rs x<<1|1 #define m(x) a[x].l+a[x].r>>1 const int N=1e2+7; const int INF=1e6,mod=1e9+7; int n,m; int a[101][101]; int s[101][101][22][2]; int ans; int main() {int t;cin>>t;while(t--){cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){scanf("%d",&a[i][j]);}}for(int i=0;i<=n;i++){for(int j=0;j<=n;j++){for(int k=0;k<=20;k++)s[i][j][k][1]=s[i][j][k][0]=INF;}}s[1][1][0][0]=s[1][1][0][1]=a[1][1];for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==1&&j==1)continue;s[i][j][0][1]=s[i-1][j][0][1]+a[i][j];s[i][j][0][0]=s[i][j-1][0][0]+a[i][j];for(int k=1;k<=20;k++){s[i][j][k][1]=min(s[i-1][j][k][1],s[i-1][j][k-1][0]+(1<<k-1))+a[i][j];s[i][j][k][0]=min(s[i][j-1][k][0],s[i][j-1][k-1][1]+(1<<k-1))+a[i][j];//printf("%d %d %d %d %d\n",i,j,k,s[i][j][k][0],s[i][j][k][1]);}}}int ans=INF;for(int i=0;i<=20;i++){ans=min(ans,min(s[n][n][i][0],s[n][n][i][1]));}cout<<ans<<endl;}return 0; }

Problem K?你的Alice

https://ac.nowcoder.com/acm/contest/948/K

題意:

題解:

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; ll t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; int a[N]; char str; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%lld%lld",&n,&k);cout<<((n/k)&1?"YES":"NO")<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

?

總結

以上是生活随笔為你收集整理的“华为杯”中国矿业大学程序设计学科竞赛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品中文字幕在线观看 | 福利视频免费 | 欧美1区2区3区4区 | 999福利视频| 91黄色国产| 美女久久 | 91精品国产视频 | 污污网站在线观看视频 | 色综合久久久久久 | 欧美性精品 | 日韩人妻无码精品久久久不卡 | 污黄啪啪网| 亚洲超碰在线观看 | 激情文学亚洲色图 | 日韩欧美91 | 日本免费www | 嫩草视频免费观看 | 不卡精品视频 | 好男人在线观看 | 四虎8848精品成人免费网站 | 天堂国产一区二区三区 | 国产一区二区激情 | 久久久成人精品一区二区三区 | 日韩久久综合 | 亚洲国产精品一区 | 欧美群妇大交乱 | 一级做a免费视频 | 亚洲乱码在线 | 蜜臀999 | 国产美女视频 | 欧美裸体女人 | 高清中文字幕在线a片 | 麻豆精品一区 | 欧美入口 | 国产精品va在线观看无码 | 另类小说亚洲色图 | 国产日本视频 | 亚洲欧美日韩系列 | 国产成人精品一区二区三区 | 亚洲国产成人在线视频 | 樱桃成人精品视频在线播放 | 日韩欧美第一区 | 中文字幕人妻精品一区 | xxxx96| 免费看黄色的网址 | 久久综合国产精品 | 久久久久久美女 | 精品人妻少妇一区二区 | 男男做爰猛烈叫床爽爽小说 | 国产 日韩 欧美在线 | 五月婷婷爱 | 国产嘿咻| 成人免费无遮挡无码黄漫视频 | 亚洲黄色a级片 | 欧美区视频 | 岛国精品一区 | 国产视频一区在线播放 | 中国久久久 | bt天堂av | 制服丝袜在线第一页 | 久久99精品久久久久久琪琪 | 成人a级免费视频 | 国产在线网 | 天堂视频在线免费观看 | 免费20分钟超爽视频 | 欧美中文字幕一区二区三区 | 欧美视频色 | 午夜在线成人 | 久操网站 | 国产精品欧美激情在线播放 | 99在线观看免费视频 | 黄站在线观看 | 日本伦理一区 | 国产乱人| 国产一区精品在线 | 色眯眯影院 | 韩国午夜av | 成人做爰免费视频免费看 | 很污的网站 | 日韩一区免费 | 91丨porny丨对白 | jlzzjizz在线播放观看 | 欧美a级肉欲大片xxx | 伊人色网 | 色呦呦一区 | 国产又爽又黄的视频 | 灌满闺乖女h高h调教尿h | 色狠久| 欧美一区二区在线观看视频 | 国产高潮视频在线观看 | 亚洲每日更新 | www.色就是色.com | 粉嫩av一区二区三区 | 女人高潮特级毛片 | 欧美午夜在线观看 | 日本一区电影 | 啪啪的网站| 男生c女生 | 日本激情电影 |