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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

AtCoder Beginner Contest 176总结

發布時間:2023/12/3 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AtCoder Beginner Contest 176总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于打球又鴿了一場,快開學了好好打球!!!(狗頭 還是補一補

A - Takoyaki

簽到題

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<iostream> #include<algorithm> using namespace std; int n,x,t; int main() {cin>>n>>x>>t;cout<<(n+x-1)/x*t<<endl;return 0; }

B - Multiple of 9

第一次打學校比賽的時候就有一個類似的題
不過這題直接把結論告訴了一個數是9的倍數充要條件是十進制下每一位加起來的和是9的倍數
直接讓這題稱為模擬題

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<string> #include<cstring> #include<iostream> #include<algorithm> using namespace std; string s; int main() {cin>>s;ll res=0;for(auto t:s) res+=t-'0';if(res%9==0) cout<<"Yes"<<endl;else cout<<"No"<<endl;return 0; }

C - Step

記錄last前面最大的數,然后更新答案即可

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<iostream> #include<algorithm> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=200010; int a[N],n; int main() {cin>>n;int last=0;ll res=0;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++){if(a[i]<last) res+=last-a[i];else last=a[i];}cout<<res<<endl;return 0; }

D - Wizard in Maze

雙端隊列bfs,使用魔法代價為1其他代價為0,更新即可。

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<vector> #include<set> #include<map> #include<deque> #include<string> #include<cstring> #include<iostream> #include<algorithm> #define x first #define y second using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=1010; pii start,ed; int n,m; char g[N][N]; int dist[N][N]; bool st[N][N]; void bfs() {memset(dist,0x3f,sizeof dist);deque<pii> q;dist[start.x][start.y]=0;q.push_front(start);int dx[]={0,0,1,-1},dy[]={1,-1,0,0};while(q.size()){auto t=q.front();q.pop_front();if(st[t.x][t.y]) continue;st[t.x][t.y]=1;int d=dist[t.x][t.y];int a,b;for(int i=0;i<4;i++){a=t.x+dx[i],b=t.y+dy[i];if(a<1||b<1||a>n||b>m||g[a][b]=='#'||dist[a][b]<=d) continue;dist[a][b]=d;q.push_front({a,b});}for(int i=t.x-2;i<=t.x+2;i++) {if(i<1||i>n) continue;for(int j=t.y-2;j<=t.y+2;j++){if(j<1||j>m||g[i][j]=='#'||dist[i][j]<=d+1) continue;dist[i][j]=d+1;q.push_back({i,j});}}} } int main() {cin>>n>>m;cin>>start.x>>start.y;cin>>ed.x>>ed.y;for(int i=1;i<=n;i++) cin>>g[i]+1;bfs();if(dist[ed.x][ed.y]==0x3f3f3f3f) cout<<-1<<endl;else cout<<dist[ed.x][ed.y]<<endl;return 0; }

E - Bomber

直接枚舉懶得寫題解了

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<vector> #include<set> #include<map> #include<deque> #include<string> #include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=300010; int n,m; int k; map<pii,int> mp; int col[N],row[N]; int maxr,maxc; vector<int> a,b; int main() {cin>>n>>m>>k;while(k--){int a,b;cin>>a>>b;mp[{a,b}]=1;row[a]++;col[b]++;maxr=max(maxr,row[a]);maxc=max(maxc,col[b]);}for(int i=1;i<=n;i++) if(row[i]==maxr) a.push_back(i);for(int j=1;j<=m;j++)if(col[j]==maxc) b.push_back(j);for(int i=0;i<a.size();i++) for(int j=0;j<b.size();j++)if(mp[{a[i],b[j]}]==0) {cout<<maxr+maxc<<endl;return 0;}cout<<maxr+maxc-1<<endl;return 0; }

F

F不會不知道會不會補。先鴿了
要加油哦~

總結

以上是生活随笔為你收集整理的AtCoder Beginner Contest 176总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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