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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2021暑假每日一题 【week2 完结】

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021暑假每日一题 【week2 完结】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 3763. 數字矩陣 【難度: 一般 / 知識點: 思維】
  • 3764. 三元數異或 【難度: 一般 / 知識點: 思維 貪心】
  • 3767. 最小的值 【難度: 一般 / 思維: 貪心 枚舉】
  • 3768. 字符串刪減【難度: 簡單 / 知識點: 模擬】
  • 3769. 移動石子 【難度: 簡單 / 知識點: 貪心】

3763. 數字矩陣 【難度: 一般 / 知識點: 思維】


#include<bits/stdc++.h> using namespace std; int a[105][105],n,m; int main(void) {int t; cin>>t;while(t--){cin>>n>>m;int cnt=0,sum=0,t=1e9;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];if(a[i][j]<0) cnt++;sum+=abs(a[i][j]);t=min(t,abs(a[i][j]));}}if(cnt%2==0) cout<<sum<<endl;else cout<<sum-abs(t)*2<<endl;}return 0; }

3764. 三元數異或 【難度: 一般 / 知識點: 思維 貪心】


我們要讓這倆數盡可能的平均,這樣最大值才會盡可能的小。
如果是2就平分,如果是1那么給其中的一個,剩下的所有的數都給另一個即可。

#include<bits/stdc++.h> using namespace std; int main(void) {int t; cin>>t;while(t--){int n; cin>>n;string x; cin>>x;string a,b;int index=99999999;for(int i=0;i<x.size();i++) {if(x[i]=='2') a+='1',b+='1';if(x[i]=='0') a+='0',b+='0';if(x[i]=='1'){a+="1";b+='0';index=i+1;break;}}while(a.size()<n) a+='0';for(int i=index;i<x.size();i++) b+=x[i];cout<<a<<endl<<b<<endl;}return 0; }

3767. 最小的值 【難度: 一般 / 思維: 貪心 枚舉】

#include<bits/stdc++.h> using namespace std; const int N=1e4+10; int a[N],b[N]; int main(void) {int n; cin>>n;int t=-1;int sum=0;for(int i=0;i<n;i++) cin>>a[i];for(int i=0;i<n;i++) cin>>b[i];for(int i=1;i<=100000;i++)//枚舉答案{int sum=0;for(int j=0;j<n;j++){if(a[j]>=b[j]) sum+=(a[j]-b[j])*i;else sum-=b[j]-a[j];}if(sum>0)//合法{cout<<i<<endl;return 0;}}cout<<-1<<endl;return 0; }

3768. 字符串刪減【難度: 簡單 / 知識點: 模擬】

#include<bits/stdc++.h> using namespace std; int main(void) {int n; cin>>n;string s; cin>>s;int ans=0;int cnt=0;for(int i=0;i<s.size();i++){if(s[i]=='x') cnt++;else cnt=0;if(cnt>=3) ans++;}cout<<ans<<endl;return 0; }

3769. 移動石子 【難度: 簡單 / 知識點: 貪心】

#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N],n,t,d; int main(void) {cin>>t;while(t--){cin>>n>>d;for(int i=0;i<n;i++) cin>>a[i];int sum=a[0];for(int i=1;i<n;i++){if(a[i]){if(a[i]*i<d) sum+=a[i],d-=a[i]*i;else {sum+=d/i;break;}}}cout<<sum<<endl;}return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的2021暑假每日一题 【week2 完结】的全部內容,希望文章能夠幫你解決所遇到的問題。

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