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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Educational Codeforces Round 73 (Rated for Div. 2)

發(fā)布時(shí)間:2023/11/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Educational Codeforces Round 73 (Rated for Div. 2) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

A

很簡(jiǎn)單的一個(gè)模擬,只要前面的數(shù)字有兩個(gè)以上就能合成后面的,我們進(jìn)行一遍合成看能不能出現(xiàn)2048就可以了。

#include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> #include<cmath> #include<climits> #include<queue> #include<vector> #include<set> #include<map> using namespace std;typedef long long ll; const int INF=0x3f3f3f3f; const int MAXN=1e2+5; int a[40]; int n;int deal(int x) {int ret=0;while(x/2){ret++;x/=2;}return ret; }int main() {int T,tmp;scanf("%d",&T);while(T--){memset(a,0,sizeof(a));scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&tmp);a[deal(tmp)]++;}for(int i=1;i<=11;i++){a[i]+=a[i-1]/2;}if(a[11]>0){printf("YES\n");}else{printf("NO\n");}}return 0; }

B

要在棋盤上放上兩種馬,讓他們能夠相互攻擊的數(shù)目最大,問(wèn)如何放。
當(dāng)時(shí)做的時(shí)候想的是先DFS一遍,然后對(duì)剩下的再進(jìn)行DFS,然后過(guò)了,就沒(méi)有多想。剛才發(fā)現(xiàn)只要錯(cuò)開(kāi)排列就可以。

#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<iostream>#include<cmath>#include<climits>#include<queue>#include<vector>#include<set>#include<map>using namespace std;typedef long long ll;const int INF=0x3f3f3f3f;const int MAXN=1e2+5;int mp[MAXN][MAXN];int n;const int drc[8][2]={1,2,1,-2,2,1,2,-1,-1,2,-1,-2,-2,1,-2,-1};void dfs(int x,int y,int cur){int u,v;if(mp[x][y]) return;int tmp=(cur==1)?2:1;mp[x][y]=tmp;for(int i=0;i<8;i++){u=x+drc[i][0]; v=y+drc[i][1];if(u<1||u>n || v<1||v>n) continue;dfs(u,v,tmp);}}int main(){while(~scanf("%d",&n)){memset(mp,0,sizeof(mp));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(!mp[i][j]){dfs(i,j,2);}}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){printf("%c",mp[i][j]==1?'W':'B');}printf("\n");}}return 0;} #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> #include<cmath> #include<climits> #include<queue> #include<vector> #include<set> #include<map> using namespace std;typedef long long ll; const int INF=0x3f3f3f3f; const int MAXN=105;int n;int main() {int cmd=0;while(~scanf("%d",&n)){for(int i=0;i<n;i++){cmd=i%2;for(int j=0;j<n;j++){printf("%c",cmd==0?'W':'B');cmd=!cmd;}printf("\n");}}return 0; }

C

首先我們分析最多能組多少對(duì),最多能組肯定是所有的人每三個(gè)人一組,但是我們還有其他限制要求,如果滿足要求的人比最多能夠組成的隊(duì)還多顯然所有的隊(duì)都能組成。如果滿足要求的人沒(méi)有最多組成的隊(duì)的人數(shù)多就是滿足要求的組數(shù)。

#include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> #include<cmath> #include<climits> #include<queue> #include<vector> #include<set> #include<map> using namespace std;typedef long long ll; const int INF=0x3f3f3f3f; const int MAXN=1e5+5; int a,b,c,s; int ans1,ans2; int ans;int main() {int T;scanf("%d",&T);while(T--){scanf("%d%d%d",&a,&b,&c);s=(a+b+c)/3;ans1=min(a,b);if(ans1>=s){ans=s;}else{ans=ans1;}printf("%d\n",ans);}return 0; }

總結(jié)

以上是生活随笔為你收集整理的Educational Codeforces Round 73 (Rated for Div. 2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。