强强联合


暴力解:
#include<iostream>using namespace std;const int N=100+10;int m,fm;
int ms[N],fms[N];int main()
{cin>>m;cin>>fm;for(int i=0;i<m;i++)cin>>ms[i];for(int i=0;i<fm;i++)cin>>fms[i];int mx=0;for(int i=0;i<m;i++){for(int j=0;j<fm;j++){mx=max(mx,ms[i]+fms[j]);}}cout<<mx<<endl;return 0;
}
小技巧:分别求最大值相加即可
#include<iostream>using namespace std;const int N=100+10;int m,fm,max1,max2;
int tmp1,tmp2;
int ans;int main()
{cin>>m>>fm;while(m--){cin>>tmp1;if(tmp1>max1) max1=tmp1;}while(fm--){cin>>tmp2;if(tmp2>max2) max2=tmp2;}ans=max1+max2;cout<<ans<<endl;return 0;
}
字符数量


#include<iostream>
#include<cstring>
#include<map>
using namespace std;int a[1010];int main()
{char ch;while(cin>>ch)if(ch!=' ') a[ch]++;for(int i='a';i<='z';i++)if(a[i]!=0)cout<<i<<':'<<a[i]<<endl;return 0;
}