牛客周赛68
三途川的摆渡人
很简单,不多说
#include<iostream>
using namespace std;
#define int long long
const int N=1000010;
int arr[N];
int res=0;
signed main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int n;cin>>n;
string a;cin>>a;
for(int i=0;i<a.length();i++){
if(a[i]=='0')res++;
}
cout<<res;
return 0;
}
魔法之森的蘑菇
二维前缀和,找最大矩形即可
#include<iostream>
using namespace std;
#define int long long
const int N=1000010;
int arr[1010][1010];
int res=0;
int mx=0;
int res1,res2,res3,res4;
signed main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int n,m;cin>>n>>m;
char shix;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>shix;
if(shix=='.')arr[i][j]=1;
else arr[i][j]=0;
}
}
//二维前缀和
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
arr[i][j]+=arr[i][j-1]+arr[i-1][j]-arr[i-1][j-1];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
for(int k=i;k<=n;k++){
for(int l=j;l<=m;l++){
//cout<<i<<" "<<j<<" "<<k<<" "<<l<<" ";
//cout<<arr[k][l]-arr[k][j-1]-arr[i-1][l]+arr[i-1][j-1]<<" "<<(k-i+1)*(l-j+1)<<endl;
if(arr[k][l]-arr[k][j-1]-arr[i-1][l]+arr[i-1][j-1]==(k-i+1)*(l-j+1)){
if(mx<arr[k][l]-arr[k][j-1]-arr[i-1][l]+arr[i-1][j-1]){
//cout<<"panduan";
mx=arr[k][l]-arr[k][j-1]-arr[i-1][l]+arr[i-1][j-1];
res1=i,res2=j,res3=k,res4=l;
//cout<<mx<<endl;
}
}
}
}
}
}
cout<<res1<<" "<<res2<<" "<<res3<<" "<<res4;
return 0;
}
迷途之家的大贤者
#include<bits/stdc++.h>
using namespace std;
int main(){
set<int>A,B,C;
int n;cin>>n;
int c;
for(int i=0;i<n;i++){
int c;cin>>c;
A.insert(c);
C.insert(c);
}
for(int i=0;i<n;i++){
int c;cin>>c;
B.insert(c);
C.insert(c);
}
cout<<n-min({A.size(),B.size(),C.size()/2});
return 0;
}
原文地址:https://blog.csdn.net/2302_80729149/article/details/143840383
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!